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

Plateformes réactives et architectures modulaires Java Discussion :

[Apache Camel] Connexion FTPS (SSL)


Sujet :

Plateformes réactives et architectures modulaires Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2003
    Messages : 79
    Points : 89
    Points
    89
    Par défaut [Apache Camel] Connexion FTPS (SSL)
    Bonjour,

    Je tente de me connecter a un serveur distant, mon fournisseur m'a envoyé deux certificats (un Root et un Business) et ma clef ".p12"

    Ma connexion via camel est la suivante :
    ftps://userid@ipserveur:port?password=yyyyyyyy
    &passiveMode=true
    &disconnect=true
    &binary=true
    &ftpClient.keyStore.password=xxxxxx
    &ftpClient.keyStore.keyPassword=aaaaaaa
    &ftpClient.trustStore.password=xxxxxxx
    &connectTimeout=40000
    &securityProtocol=SSL
    &ftpClient.trustStore.file=D:/chemin/fichierCA.jks
    &ftpClient.keyStore.file=D:/chemin/fichierKey.jks

    Et je reçois le message suivant :
    Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
    at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown Source)[:1.6]
    at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown Source)[:1.6]
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.recvAlert(Unknown Source)[:1.6]
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source)[:1.6]
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)[:1.6]
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source)[:1.6]
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source)[:1.6]
    at org.apache.commons.net.ftp.FTPSClient.sslNegotiation(FTPSClient.java:263)[172:org.apache.commons.net:2.2]
    at org.apache.commons.net.ftp.FTPSClient._connectAction_(FTPSClient.java:197)[172:org.apache.commons.net:2.2]
    at org.apache.commons.net.SocketClient.connect(SocketClient.java:164)[172:org.apache.commons.net:2.2]
    at org.apache.commons.net.SocketClient.connect(SocketClient.java:184)[172:org.apache.commons.net:2.2]
    at org.apache.camel.component.file.remote.FtpOperations.connect(FtpOperations.java:92)[237:org.apache.camel.camel-ftp:2.7.1.fuse-00-43]


    File operation failed: 234 AUTH command OK, waiting handshake
    Received fatal alert: handshake_failure. Code: 234


    ma génération des jks ont été faite avec les commandes suivantes:
    keytool -importkeystore -destkeystore fichierKey.jks -srckeystore key.p12 -srcstoretype PKCS12


    keytool -keystore fichierCA.jks -import -file BusinessCA.cer -alias businessca
    keytool -keystore fichierCA.jks -import -file RootCA.cer -alias rootca

    et lorsque je regarde les JKS tout à l'air bon.

    Est ce du côté version de camel (2.7.1)? est ce ma configuration de mon endpoint producer (je pense avoir rempli tous les champs afin de faire du ftps)

    "JVM 1.6_34"

    d'avance merci..

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    ftps://userid@ipserveur:port?password=yyyyyyyy
    Le certificat en question mentionne bien l'ip du serveur? Parce qu'habituellement, le certificat mentionne le nom du serveur et non pas son ip!

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2003
    Messages : 79
    Points : 89
    Points
    89
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Le certificat en question mentionne bien l'ip du serveur? Parce qu'habituellement, le certificat mentionne le nom du serveur et non pas son ip!
    Je viens d'essayer en changeant l'ip en nom de leur serveur..et j'ai la même erreur

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2003
    Messages : 79
    Points : 89
    Points
    89
    Par défaut
    J'ai beau changer les paramètres du endpoint camel FTPS, rien n'y fait.

    On m'a confirmé qu'il n'y avait ps besoin d'avoir dans les JKS l'ip du serveur.

    Mon fournisseur va l'envoyer les logs de mes connections.

  5. #5
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Peux-tu rajouter

    -Djavax.net.debug=all

    aux paramètres de lancement de ta jvm? Ca permettra d'avoir beaucoup plus de détail sur ce qui merde pendant le handshake.


    Aussi, je suis un peu étonné: ton provider te donne une clé pour t'authentifier auprès de leur serveur.... Déjà, pourquoi c'est eux qui te donnent la clé? D'habitude c'est l'inverse, tu leur fournis la clé publique avec laquelle tu veux être reconnu, et tu garde la privée chez toi....

    Aussi, vu que le temps à passé, pourrais-tu nous faire un état des lieux de ce que tu as déjà testé, quels sont tes paramètres actuels et quelle est ton erreur actuelle.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2003
    Messages : 79
    Points : 89
    Points
    89
    Par défaut
    Et bien voilà,

    c'est résolu, en important la version plus récente de commons-net (3.3) dans le pom et en créant un bean qui va configurer le FTPSClient de la librairie et gérer la connexion et l'envoie.

    exit donc le endpoint FTPS de camel d'origine.

    en chargeant respectivement :
    1) le ClientKeyManager (avec nos 2 JKS);
    2) une fois chargée, on se connect avec logging et mot de passe;
    3) si réussite alors on envoie le File qui se trouve dans le Exchange body.


    mais donc la version de camel 2.7.1 utilise la version 2.2 du commons-net posait surement un problème.
    :-)

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

Discussions similaires

  1. C# test connexion FTP SSL
    Par Nako_lito dans le forum C#
    Réponses: 10
    Dernier message: 13/10/2011, 18h40
  2. Apache HTTPClient : Connexion SSL via certificat PKI
    Par mathias.deshayes dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 08/06/2011, 12h42
  3. Pb SSL Apache en connexion distante
    Par krys69 dans le forum Apache
    Réponses: 2
    Dernier message: 05/12/2009, 11h54
  4. Connexion FTP a travers proxy
    Par StreM dans le forum C++Builder
    Réponses: 1
    Dernier message: 14/08/2005, 00h07
  5. Connexion FTP
    Par bannik dans le forum Développement
    Réponses: 1
    Dernier message: 22/10/2004, 15h17

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