IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

FTPS : qu'utilisez-vous ?


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut FTPS : qu'utilisez-vous ?
    Hello,

    Je cherche à faire du FTPS en .NET. Il ne me semble pas qu'il y a des classes toutes faites pour cela (pour le FTP oui mais pas FTPS ou alors j'ai mal regardé).

    Quelqu'un a-t-il déjà testé cet outil créer par Kellerman Software ?

    Est-ce fiable ?

    Sinon, que recommanderiez-vous pour faire des transferts en FTPS en .NET ?

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Tu peux regarder ici : An FTP secure client library for C#.

    Si tu veux créer ta propre librairie, il faut utiliser le client classique FtpWebRequest, et paramétrer les options pour qu'il utilise SSL. En parallèle, il faut forcer la validation des certificats X509 (il y a plein d'exemples sur le net pour faire ça).
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Merci je vais jeter un œil !

  4. #4
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    La librairie sur codeproject que tu donnes n'a pas l'air super au point quand on regarde les commentaires ^^.

    Je vais probablement partir sur la création de ma propre "librairie" (ça couvrira juste mes besoins, j'appelle difficilement ça une libraire ) mais j'attends un retour de la maison mère pour savoir s'ils n'ont pas un truc tout fait sous le coude.

    Par contre, ils sont pas pressés pour répondre '-_-.

    En attendant, si d'autres ont des retours positifs sur des libraires permettant le FTPS, ils sont les bienvenus !

  5. #5
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Le problème avec FTPS c'est que ça requiert certaines configurations que peu de développeurs maîtrisent puisque ça relève plus de l'IT pure (administration de serveur), d'où à mon avis les commentaires peu glorieux

    Sinon, pour l'option basique avec FtpWebRequest + gestion des X509 est dispo ici : Using FtpWebRequest to do FTP over SSL. Mais comme tu peux le voir encore une fois les commentaires ne sont pas top, pourtant si tu sais configurer un serveur comme il faut, ça fonctionne
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  6. #6
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Hello,

    Je reviens sur le sujet car j'ai enfin du temps pour tenter de programmer cet outil pour me connecter en ftps sur un server distant (et surtout car les données sont enfin à disposition dessus^^).

    Bref, j'ai écrit un peu de code et tout se passe pas trop mal jusqu'ici mais pas moyen de connecter au server.

    Je reçois le message "Unable to connect to the remote server" sans plus de détail...

    C'est un peu léger pour trouver la cause du problème... Ca pourrait venir de plein de chose...

    Voici le code jusqu'ici (c'est vraiment pas grand chose) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    Imports System.Net
    Imports System.Net.Security
    Imports System.Security.Cryptography.X509Certificates
     
    Module Module1
     
        Sub Main()
            Console.WriteLine("tentative de connexion")
            Dim ftps As FtpWebRequest = Nothing
            ConnectFTPS(ftps)
            Console.WriteLine("fin")
            Console.ReadLine()
        End Sub
     
        'Private Function CertificateValidationCallBack(sender As Object, certificate As System.Security.Cryptography.X509Certificates.X509Certificate, chain As System.Security.Cryptography.X509Certificates.X509Chain, sslPolicyErrors As System.Net.Security.SslPolicyErrors) As Boolean
        '    ' If the certificate is a valid, signed certificate, return true.
        '    If sslPolicyErrors = System.Net.Security.SslPolicyErrors.None Then
        '        Return True
        '    End If
        '    ' If there are errors in the certificate chain, look at each error to determine the cause.
        '    If (sslPolicyErrors And System.Net.Security.SslPolicyErrors.RemoteCertificateChainErrors) <> 0 Then
        '        If chain IsNot Nothing AndAlso chain.ChainStatus IsNot Nothing Then
        '            For Each status As System.Security.Cryptography.X509Certificates.X509ChainStatus In chain.ChainStatus
        '                If (certificate.Subject = certificate.Issuer) AndAlso (status.Status = System.Security.Cryptography.X509Certificates.X509ChainStatusFlags.UntrustedRoot) Then
        '                    ' Self-signed certificates with an untrusted root are valid.
        '                    Continue For
        '                Else
        '                    If status.Status <> System.Security.Cryptography.X509Certificates.X509ChainStatusFlags.NoError Then
        '                        ' If there are any other errors in the certificate chain, the certificate is invalid,
        '                        ' so the method returns false.
        '                        Return False
        '                    End If
        '                End If
        '            Next
        '        End If
        '        ' When processing reaches this line, the only errors in the certificate chain are
        '        ' untrusted root errors for self-signed certificates. These certificates are valid
        '        ' for default Exchange Server installations, so return true.
        '        Return True
        '    Else
        '        ' In all other cases, return false.
        '        Return False
        '    End If
        'End Function
     
        Private Sub ConnectFTPS(ByRef ftps As FtpWebRequest)
            Try
                ServicePointManager.ServerCertificateValidationCallback = Function(obj As Object, certificate As X509Certificate, chain As X509Chain, errors As SslPolicyErrors) True
                ftps = DirectCast(FtpWebRequest.Create("ftp://ftps.monserveur.be"), FtpWebRequest)
                ftps.Method = WebRequestMethods.Ftp.DownloadFile
                ftps.Credentials = New NetworkCredential("XXXX", "XXXX")
                ftps.Proxy = GlobalProxySelection.GetEmptyWebProxy
                ftps.EnableSsl = True
                Dim response As WebResponse = ftps.GetResponse
                Console.WriteLine(response.ContentLength.ToString)
            Catch ex As WebException
                Console.WriteLine(ex.Message)
            End Try
        End Sub
     
        Private Sub ListFTPS()
     
        End Sub
    End Module
    J'en suis donc à tenter d'établir la connexion. J'avançais à taton jusque là mais maintenant, avec ce message on ne peut plus général, je ne sais pas vers quel côté regardé...

    J'avais déjà le même message avant d'ajouter la première ligne du bloc Try..Catch alors je ne sais même pas si elle sert à quelque chose ou pas.

    Je cherche donc un moyen d'établir un diagnostic sur ce genre de connexion. C'est tout nouveau pour moi.

    Merci d'avance.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 10
    Dernier message: 12/05/2015, 23h56
  2. [Templates] Quel système utilisez-vous ? Pourquoi ?
    Par narmataru dans le forum Bibliothèques et frameworks
    Réponses: 270
    Dernier message: 26/03/2011, 00h15
  3. Réponses: 10
    Dernier message: 15/01/2003, 01h06
  4. Utilisez vous la base de registres ?
    Par gRRosminet dans le forum C++Builder
    Réponses: 8
    Dernier message: 04/06/2002, 13h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo