Connexion à un webservice via HTTPS

Connexion à un webservice via HTTPS - Java - Programmation

Marsh Posté le 26-02-2007 à 10:38:03    

Bonjour,
 

 


Je dois me connecter sur le webservice d'un (très gros) client via le protocole HTTPS. J'ai déjà créer/utiliser des webservices mais toujours en HTTP.
Le client m'a fourni des
fichiers .pem (des certificats de sécurité) pour me connecter au webservice.
 

 


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 ?

 


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

 


Merci à tous

Reply

Marsh Posté le 26-02-2007 à 10:38:03   

Reply

Marsh Posté le 26-02-2007 à 11:31:41    

tu utilises quelle implém pour ton client WS ?
Axis ?

Reply

Marsh Posté le 26-02-2007 à 13:58:20    

Oui, tout à fait. J'utilise les librairies d'Axis.
Bon, j'ai avancé 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

Reply

Marsh Posté le 26-02-2007 à 14:02:20    

Google est ton ami.
Je sais que cela ne t'aide pas directement mais en faisant une recherche j'ai trouvé 2 ou 3 stratégies en fonction du besoin

Reply

Marsh Posté le 26-02-2007 à 15:14:49    

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 :
  1. 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 :
  1. 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 :
  1. System.setProperty("javax.net.ssl.trustStore", "chemin vers le fichier .keystore" );
  2. 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


Message édité par NoiBe49 le 26-02-2007 à 15:26:42
Reply

Marsh Posté le 27-02-2007 à 14:11:33    

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

Reply

Marsh Posté le 27-02-2007 à 23:34:19    

eh bien, ce que tu as fait dans ton post précédent, ça ne marche pas? ça doit être à peu près la bonne démarche, mais il me semble qu'il vaudrait mieux que tu comprennes ce que tu fais :)
(le passage avec jetty me semble douteux, jetty étant à la base un moteur de servlet... tu as pê lu un article sur la génération de clé/certificat pour le serveur...)

Reply

Marsh Posté le 28-02-2007 à 08:27:36    

Le deuxième lien est en effet très intéressant. Je vais étudier cela, rechercher comment générer mes truststore et keystore avec mes fichiers ".pem" et je reviendrais ici si je rencontre quelques difficultés.
 
Merci The Real moins moins

Reply

Marsh Posté le 28-02-2007 à 12:27:19    

reviens aussi si ça marche :D

Reply

Marsh Posté le 28-02-2007 à 12:27:19   

Reply

Marsh Posté le 21-09-2007 à 11:59:24    

Bonjour,
si vous avez trouvé l'astuce, est ce que vous pourriez m'aider comment je pourrai résoudre un problème comme le votre ?
merci d'avance

Reply

Marsh Posté le 21-11-2007 à 11:19:49    

Bonjour, j'ai actuellement le même souci de client WS SSL, avez vous trouvez une solution ?

Reply

Marsh Posté le 27-08-2009 à 00:59:51    

Bonjour,  
J'ai le même problème: j'ai une application qui se connecte à un système externe, les deux communiquent en web service.
La connexion entre mon appli et le système externe se fait correctement en http mais je dois la faire aussi en https, et la je bloque ....
Le client me fournit un certain nombre de fichiers (des certificats: CAcert, *.cert, *.pem et *.pkcs12), et ils ne sait pas lequel je dois utiliser. Donc je ne sais pas trop comment faire?
Dois-je générer un keystore à partir de ces certificats ?  
Avez vous des idées, des réponses ? Merci pour votre retour.

Reply

Marsh Posté le 27-08-2009 à 09:13:41    

http://www.oratio-project.org/images/pelleteuse.gif Merci pour ce déterrage... [:corto-maltese]  
 
 
T'as essayé ce qu'il y a au dessus? tu as ce posts sinon: http://forum.hardware.fr/hfr/Progr [...] 4576_1.htm

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed