Bonjour
Je découvre tout juste les API Java pour faire du web service, désolé si j'écris des erreurs.
Je dois envoyer une chaine de caractère sur un webservice en https. On m'a fourni un certificat PKCS7 (un fichier avec l'extension p7b).
Je pensais faire la même chose qu'avec un pkcs12 :
Mais d'après ce que je lis sur le net j'ai l'impression que je dois passer obligatoirement par l'outil 'keytool' pour charger le certificat. Ca me va pour faire des tests. Mais ca veut dire qu'a chaque fois que je veux déployer mon application sur un chaine de production, je vais devoir charger le certificat avec keytool. C'est pas très pratique. Est ce qu'il y a une solution ? genre charger le certificat seulement depuis mon appli...
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 String pKeyFile="file.p12"; String pKeyPassword="blabla"; KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance("SunX509"); KeyStore keyStore = KeyStore.getInstance("PKCS12"); InputStream keyInput = new FileInputStream(pKeyFile); keyStore.load(keyInput, pKeyPassword.toCharArray()); keyInput.close(); keyManagerFactory.init(keyStore, pKeyPassword.toCharArray()); SSLContext context = SSLContext.getInstance("TLS"); context.init(keyManagerFactory.getKeyManagers(), null, new SecureRandom()); URL url = new URL(httpsURLstr); httpsURLConnection httpsConn = (HttpsURLConnection)url.openConnection(proxy); httpsConn.setSSLSocketFactory(context.getSocketFactory());
Merci de votre aide
a bientôt
Partager