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

Services Web Java Discussion :

Connexion à un webservice via SSL


Sujet :

Services Web Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 68
    Points : 39
    Points
    39
    Par défaut Connexion à un webservice via SSL
    Bonjour,

    Je dois me connecter sur le webservice d'un (très gros) client.
    La connexion doit être effectuée en https. Le client m'a fourni des fichiers .pem (des certificats de sécurité) mais lorsque je lui demande la manière de les utiliser, il me dit qu'il n'a pas de documents techniques à me fournir.

    Est-ce que quelqu'un pourrait me détailler comment je dois me connecter à ce service en utilisant ce certificat ?
    Où dois-je mettre ces certificats ?
    Comment les utiliser dans mon programme java ?

    Merci à tous

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 68
    Points : 39
    Points
    39
    Par défaut
    je me permet un petit up car là je ne sais pas où aller.

    Comment me connecter à un webservice en https dans un programme java en utilisant un certificat de type ".pem" ?
    Je me suis déjà connecté à un webservice en HTTP mais jamais en HTTPS.

    Même si vous n'avez qu'une partie de la réponse, cela m'aiderait grandement !

    Merci à tous

  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

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 68
    Points : 39
    Points
    39
    Par défaut
    Merci pour tes liens, grâce au deuxième, j'ai pu avancer un peu sur la question, j'espère que je vais dans le bon sens.

    Avec mes 3 fichiers .pem et grâce à openssl j'ai pu créer un certificat que j'ai ajouté à la banque de certificat Windows.

    Avant d'aller plus loin, je vais dans le bon sens ou pas du tout ?
    Si non, je dois suivre quelle direction ?

    Merci

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 34
    Points : 41
    Points
    41
    Par défaut
    Ja vais suivre avec un engouement plus que vorace ce topic , je galère depuis pas mal de temps sur la question. J'espère que cette fois ci on aura une réponse qui nous aidera réellement .

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 68
    Points : 39
    Points
    39
    Par défaut
    Après quelques recherches, il semblerait que je fasse fausse route. Le faite de créer un certificat windows ne sert à rien.

    Après lecture de nombreux sites, voici ce que j'ai compris :
    1/ J'ai 3 fichiers qui m'ont été envoyés par notre client. Ces fichiers sont les certificats côté serveur. Soit :
    cert.pem = le certificat
    key.pem = la clé
    issuer.pem = ???

    2/ Télécharger et installer openssl. une fois opensll installé, écrire la ligne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    openssl pkcs12 -export -inkey key.pem -in cert.pem -out serv.pkcs12
    En sortie, je récupère un fichier .pkcs12

    3/ Avec l'aide de ce fichier, je génère un keystore grâce à la librairie "Jetty" (http://jetty.mortbay.org) grâce à la ligne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    java -classpath <CheminDuFichier>/jetty.jar org.mortbay.jetty.security.PKCS12Import serv.pkcs12 serv.keystore
    Un mot de passe doit être saisi pour créer le .keystore
    En sortie, je dois trouver un fichier .keystore qui est censer contenir toutes les informations nécessaire pour dialoguer via ssl avec le webservice.

    4/ Dans le code du client Java, avant de faire appel au webservice, ajouter ces lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    System.setProperty("javax.net.ssl.trustStore", "chemin vers le fichier .keystore");
    System.setProperty("javax.net.ssl.trustStorePassword", "mot de passe défini lors de la création du .keystore");
    Voilà ce que j'ai compris. Est-ce que quelqu'un peut m'aiguiller, me dire ce qui va ou pas. M'épauler dans ma démarche ?

    Merci à tous

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 34
    Points : 41
    Points
    41
    Par défaut
    Hum , pour ce qui est du coté client en java j'ai lu la même chose .

    J'avais pas vu que ton problème était du coté client , moi c'est du coté serveur :/ . Je suis en train de looker après kerberos .

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 68
    Points : 39
    Points
    39
    Par défaut
    Personne ne peut m'aiguiller / me confirmer ma démarche ?
    J'avoue que je fais un peu du sur place là.

    Je ne sais même pas si l'utilisation que je fais de mes fichiers .pem est bonne ni si l'implémentation de l'interface SSL dans mon programme java est bonne.

    Si quelqu'un passe dans le coin, je suis tout ouïe.

    Merci à tous

  9. #9
    Membre habitué

    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 105
    Points : 134
    Points
    134
    Par défaut
    Bonsoir

    A priori tu es en bonne voie.

    Lorsque ton client java se connecte en SSL avec le serveur, celui-ci lui renvoie son certificat public (phase de handcheck). Il semble que le certificat serveur soit une certificat signé par une autorité de certification inconnu (autre que verisign, ou autre).
    Dans ce cas, avec un navigateur web tu aurais la popup qui demande si tu veux accepter le certificat. Dans une application client java, pas question d'avoir une popup.

    Alors Java verifie les certificats de la façon suivante:
    - si le certificat est présent dans le magasin de certificats de confiance, et que la chaîne de certificat est aussi présente, alors on accepte le certificat, sinon on refuse.

    Le fichier cert.pem est bien le certificat du serveur.
    Le fichier issuer.pem est le certificat de l'autorité de certification ayant servie à générer le certificat serveur.

    Dans ton keystore, tu dois placer ces 2 certificats.

    Tu peux lister le contenu du keystore avec keytool (utilitaire fourni avec le jdk)

    En fixant les 2 propriétés système, tu indiques a la couche SSL du jdk ou est placé le magasin contenant les certificats de confiance.

    Cordialement
    Willy78

  10. #10
    Membre habitué
    Profil pro
    Développeur Java
    Inscrit en
    Février 2007
    Messages
    177
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2007
    Messages : 177
    Points : 145
    Points
    145
    Par défaut
    bonjour,
    désolé de resortir ce sujet mais j'ai une question:
    j'ai le fichier *.crt mais comment dire où aller chercher ce certificat lorsque je fais appel aux Web Services?
    quelles sont les 2 propriétés systemes?
    merci

  11. #11
    Membre régulier
    Profil pro
    rfv
    Inscrit en
    Novembre 2006
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : rfv

    Informations forums :
    Inscription : Novembre 2006
    Messages : 91
    Points : 115
    Points
    115
    Par défaut
    Bonsoir tout le monde,

    NoiBe, as tu réussis à résoudre ton problème de WebService en Https ?

    J'ai également les mêmes modifications a faire, mais je butte sur une erreur de de bad Handshake.

    Peux tu nous poster le solution.
    Merci.

Discussions similaires

  1. Accès WebService via certificat SSL P12
    Par Tequilapaf dans le forum Glassfish et Payara
    Réponses: 1
    Dernier message: 03/06/2015, 18h07
  2. [AJAX] Connexion au webservice via AJAX
    Par dazine dans le forum AJAX
    Réponses: 1
    Dernier message: 25/03/2014, 14h27
  3. [SSL] Connexion à un webservice via SSL
    Par NoiBe dans le forum Sécurité
    Réponses: 6
    Dernier message: 29/05/2008, 10h22
  4. [MFC] Connexion a internet via un modem 56k
    Par lastcheper dans le forum MFC
    Réponses: 4
    Dernier message: 13/04/2005, 16h06
  5. Connexion base SQL via Excel
    Par dp_favresa dans le forum Langage SQL
    Réponses: 2
    Dernier message: 10/01/2005, 14h32

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