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 :

FTP avec support SSL


Sujet :

VB.NET

  1. #1
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2007
    Messages : 61
    Par défaut FTP avec support SSL
    Bonjour,

    J'ai un problème avec le support SSL des librairies FTP d'ASP.NET. Je fais mes tests avec FileZilla FTP Server, avec lequel j'ai créer un serveur FTP distant avec SSL. Lorsque la connexion s'établi, le processus gèle au Welcome Message.

    Voici le code VB.NET:
    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
    
      Public Function listeFichiers(ByVal serveurCible As String, _
                                    ByVal identifiant As String, _
                                    ByVal motDePasse As String) As Array
        Dim monResponseStream As Stream = Nothing
        Dim monStreamReader As StreamReader = Nothing
        Dim monResultat As Array = Nothing
        ' Instanciation de deux Uri qui vont contenir les chemins source et destination
        Dim monUriServeur As New System.Uri(serveurCible)
        ' Vérification de la validité de l'Uri du fichier sur le serveur FTP
        If Not (monUriServeur.Scheme = Uri.UriSchemeFtp) Then
          MessageBox.Show("L'Uri du serveur FTP n'est pas valide", _
                          "Une erreur est surevnue", _
                          MessageBoxButtons.OK, MessageBoxIcon.Warning)
          'Si Uri non valide, arrêt du listage
          Return monResultat
          Exit Function
        End If
        Try
          ' Création de la requête de récupération de la liste des fichiers
          Dim maRequeteListe As FtpWebRequest = CType(WebRequest.Create(monUriServeur), FtpWebRequest)
          maRequeteListe.Method = WebRequestMethods.Ftp.ListDirectoryDetails
          ' Vérification de la présence des identifiants d'un compte, si aucun alors
          ' la connexion se fait en mode anonyme
          If Not identifiant.Length = 0 Then
            Dim monCompteFtp As New NetworkCredential(identifiant, motDePasse)
            maRequeteListe.Credentials = monCompteFtp
          End If
          maRequeteListe.EnableSsl = True
    
          ' Récupération de la liste de fichiers
          Dim maResponseListe As FtpWebResponse = CType(maRequeteListe.GetResponse, FtpWebResponse)
          ' Placement du flux provenant du serveur dans un streamreader
          monStreamReader = New StreamReader(maResponseListe.GetResponseStream, Encoding.Default)
          ' Lecture du stream reader
    
    (...)
    
          ' Gestion des exceptions
        Catch ex As UriFormatException
          MessageBox.Show(ex.Message)
        Catch ex As WebException
          MessageBox.Show(ex.Message)
        Finally
          ' Fermeture des différents flux utilisés
          If monResponseStream IsNot Nothing Then
            monResponseStream.Close()
          End If
          If monStreamReader IsNot Nothing Then
            monStreamReader.Close()
          End If
        End Try
        Return monResultat
      End Function
    La connexion est possible sans SSL si j'ajuste le code et le serveur FTP. Mais malgré le fait que j'ai enabler le SSL, si je regarde le log FTP du serveur, il ne semble pas envoyer la commande "AUTH SSL" comme il devrait:

    (000006) 2009-02-18 21:11:42 - (not logged in) (127.0.0.1)> Connected, sending welcome message...
    (000006) 2009-02-18 21:11:42 - (not logged in) (127.0.0.1)> 220-FileZilla Server version 0.9.30 beta
    (000006) 2009-02-18 21:11:42 - (not logged in) (127.0.0.1)> 220-written by Tim Kosse (Tim.Kosse@gmx.de)
    (000006) 2009-02-18 21:11:42 - (not logged in) (127.0.0.1)> 220 Please visit http://sourceforge.net/projects/filezilla/
    (000006) 2009-02-18 21:12:42 - (not logged in) (127.0.0.1)> 421 Login time exceeded. Closing control connection.


    Le serveur FTP s'attend à avoir quelque chose et ASP.NET ne le lui fourni pas. Si je me log sur le serveur avec un client FTP, le log se comporte plutot comme ça:

    (000007) 2009-02-18 21:22:06 - (not logged in) (127.0.0.1)> Connected, sending welcome message...
    (000007) 2009-02-18 21:22:06 - (not logged in) (127.0.0.1)> 220-FileZilla Server version 0.9.30 beta
    (000007) 2009-02-18 21:22:06 - (not logged in) (127.0.0.1)> 220-written by Tim Kosse (Tim.Kosse@gmx.de)
    (000007) 2009-02-18 21:22:06 - (not logged in) (127.0.0.1)> 220 Please visit http://sourceforge.net/projects/filezilla/
    (000007) 2009-02-18 21:22:07 - (not logged in) (127.0.0.1)> SSL connection established
    (000007) 2009-02-18 21:22:07 - (not logged in) (127.0.0.1)> USER sa
    (000007) 2009-02-18 21:22:07 - (not logged in) (127.0.0.1)> 331 Password required for sa
    (000007) 2009-02-18 21:22:07 - (not logged in) (127.0.0.1)> PASS ********
    (000007) 2009-02-18 21:22:07 - sa (127.0.0.1)> 230 Logged on


    Es-ce que quelqu'un peu m'aiguiller vers une piste?
    Merci

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Dans FileZilla Server y a différentes options pour le SSL, je sais pas si elles sont toutes très standard (ou alors elles le sont, mais FtpWebRequest ne les gère pas toutes...)
    Essaie de jouer sur les options "Allow explicit SSL/TLS on normal connections" et "Force explicit SSL/TLS"

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/05/2008, 15h06
  2. Client FTP avec SSL
    Par dm38 dans le forum Web & réseau
    Réponses: 3
    Dernier message: 26/09/2007, 14h30
  3. Client FTP avec SSL
    Par dm38 dans le forum C++Builder
    Réponses: 0
    Dernier message: 24/09/2007, 09h16
  4. Réaliser un Chat avec support IP
    Par Sub0 dans le forum Développement
    Réponses: 12
    Dernier message: 14/07/2006, 10h59
  5. [Indy 10] Serveur FTP avec SSL
    Par KarMa_CoMa dans le forum Web & réseau
    Réponses: 5
    Dernier message: 21/04/2005, 09h51

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