web-dev-qa-db-fra.com

Besoin d'aide pour convertir le certificat P12 en JKS

J'ai besoin d'aide pour convertir mon fichier de certificat .P12 en un magasin de clés JKS. J'ai suivi les commandes standard à l'aide de l'utilitaire keytool de Java. Cependant, lorsque j'essaie d'utiliser le fichier JKS résultant pour accéder au point de terminaison WS via SOAPUI, une erreur 403.7 s'affiche: Forbidden: le certificat SSL est requis. L'utilisation du fichier P12 avec SOAPUI sur le même noeud final produit une réponse satisfaisante. Voici la commande standard pour importer un fichier de clés P12 dans un fichier de clés JKS - 

keytool -importkeystore -srckeystore src.p12 -srcstoretype PKCS12 -deststoretype JKS -destkeystore target.jks

J'ai aussi essayé d'utiliser openssl pour convertir les fichiers P12 -> PEM -> DER -> JKS:

openssl pkcs12 -in src.p12 -out src.pem -clcerts

(Editez src.pem dans ses deux parties composites appelées src.key et src.cer)

openssl pkcs8 -topk8 -nocrypt -in src.key -out key.der -inform PEM -outform DER
openssl x509 -in src.cer -inform PEM -out cert.der -outform DER

(J'ai exécuté un utilitaire pour combiner les deux clés dans keystore.ImportKey)

keytool -importkeystore -srckeystore keystore.ImportKey -destkeystore target.JKS

et de même pas de dés.

Y a-t-il quelque chose qui me manque?

14
Adam Doyle

Si vous avez une application Keytool et votre fichier PKCS # 12, lancez la commande en une ligne:

keytool -importkeystore -srckeystore [MY_FILE.p12] -srcstoretype pkcs12
 -srcalias [ALIAS_SRC] -destkeystore [MY_KEYSTORE.jks]
 -deststoretype jks -deststorepass [PASSWORD_JKS] -destalias [ALIAS_DEST]

Vous devrez modifier ces paramètres:

  • MY_FILE.p12: indique le chemin d'accès au fichier PKCS # 12 (extension .p12 ou .pfx) à convertir.
  • MY_KEYSTORE.jks: chemin d'accès au magasin de clés dans lequel vous souhaitez stocker votre certificat. S'il n'existe pas, il sera créé automatiquement.
  • PASSWORD_JKS: mot de passe qui sera demandé à l'ouverture du magasin de clés.
  • ALIAS_SRC: nom correspondant à votre entrée de certificat dans le fichier PKCS # 12, "Tomcat" par exemple. 

Dans le cas où vous exporteriez votre certificat depuis un serveur Windows générant un fichier .PFX, vous devrez récupérer le nom "alias" créé par Windows. Pour ce faire, vous pouvez exécuter la commande suivante: 

keytool -v -list -storetype pkcs12 -keystore FILE_PFX

Là, le champ "nom d'alias" indique le nom de stockage de votre certificat que vous devez utiliser dans la ligne de commande.

  • ALIAS_DEST: nom qui correspondra à votre entrée de certificat dans le magasin de clés JKS, "Tomcat" par exemple.
13
deeps

Mais il a demandé comment convertir .p12 en JKS. La réponse est donc:

keytool -importkeystore  -srckeystore mystore.p12 -destkeystore myotherstore.jks -srcstoretype PKCS12 -deststoretype jks -srcstorepass mystorepass -deststorepass myotherstorepass -srcalias myserverkey -destalias myotherserverkey -srckeypass mykeypass -destkeypass myotherkeypass

Juste pour utiliser cette ligne, travaille pour moi.

2
Schroeffu

Je suis surpris pourquoi personne n'a répondu à cette question depuis si longtemps. Quoi qu'il en soit, la méthode la plus simple pour convertir p12 en jks consiste à utiliser Keytool. Voici la commande que vous pourriez avoir besoin d'utiliser: 

keytool -importkeystore  -srckeystore mystore.jck -destkeystore myotherstore.jks -srcstoretype jceks
-deststoretype jks -srcstorepass mystorepass -deststorepass myotherstorepass -srcalias myserverkey
-destalias myotherserverkey -srckeypass mykeypass -destkeypass myotherkeypass

Je pense que les problèmes auxquels vous faites face sont probablement dus au fait que vous n’avez pas fourni Keypass. Veuillez noter qu'il est recommandé de conserver le passe clavier et storepass comme identiques, car le serveur est parfois incapable de faire la distinction entre le clavier et le passe magasin. 

0
eshaa