Bonjour,
Je dois actuellement me connecter à un serveur FTPES.
J'ai essayé différentes applications (filezilla, kftpgrabber, ...) mais l'objectif est de me connecter via curl (afin de scripter tout ça).
Cependant, quelque soit le client (application mais aussi système : windows, linux, aix), une erreur récurrente apparaît concernant la négociation de la clé.
J'ai fini par isolé l'erreur :
1 2 3 4
| curl --ftp-ssl ...
* SSLv3, TLS handshake, Client hello (1):
} [data not shown]
* Unknown SSL protocol error in connection to |
ou bien (depuis AIX ou filezilla) :
curl: (35) gnutls_handshake() failed: -9
Plus précisément débogguons la communication SSL :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| $ gnutls-cli -d 5 --port 2121 monhote
Resolving 'monhote'...
Connecting to 'monhote:2121'...
...
|<2>| EXT[0x1c5e0f0]: Sending extension CERT_TYPE
|<2>| EXT[0x1c5e0f0]: Sending extension SERVER_NAME
|<3>| HSK[0x1c5e0f0]: CLIENT HELLO was send [126 bytes]
|<4>| REC[0x1c5e0f0]: Sending Packet[0] Handshake(22) with length: 126
|<2>| ASSERT: gnutls_cipher.c:204
|<4>| REC[0x1c5e0f0]: Sent Packet[1] Handshake(22) with length: 131
|<2>| ASSERT: gnutls_buffers.c:330
|<2>| ASSERT: gnutls_buffers.c:584
|<2>| ASSERT: gnutls_record.c:909
|<2>| ASSERT: gnutls_buffers.c:1032
|<2>| ASSERT: gnutls_handshake.c:1045
|<2>| ASSERT: gnutls_handshake.c:2364
*** Fatal error: A TLS packet with unexpected length was received.
*** Handshake has failed
GNUTLS ERROR: A TLS packet with unexpected length was received. |
En gros la longueur de paquet n'est pas bonne. J'ai réussi à outrepasser ce problème en spécifiant l'option --starttls :
1 2 3 4 5 6 7
| $ gnutls-cli -d 5 --port 2121 monhote --starttls
Resolving 'monhote'...
Connecting to 'monhote:2121'...
- Simple Client Mode:
220 Welcome to la bannière de mon hote |
Donc ma question est : comment passer à curl l'option utilisée pour communiquer comme l'option --starttls de gnutls-cli ?
Je précise que je me suis monter ailleurs un serveur FTP n'acceptant que des connexions SSL explicites (vsftpd) et je n'ai aucun problème, d'aucun système / application ; tout se passe comme une connexion FTP classique si ce n'est qu'il faille accepter le certificat. Dans le cas de monhote, le certificat n'est même pas reçu.
D'avance merci pour vos réponses.
Chmanu
Partager