267 votes

importation d’un x509 existant certificat et clé privée en Java keystore d’utiliser ssl

J'ai cela en activemq config

<sslContext>
        <sslContext keyStore="file:/home/alex/work/amq/broker.ks"  
 keyStorePassword="password" trustStore="file:${activemq.base}/conf/broker.ts" 
 trustStorePassword="password"/>
</sslContext>

J'ai une paire de x509 cert et un fichier de clé

Comment puis-je importer les deux à être utilisés dans et ssl ssl+stomp connecteurs? Tous les exemples que je pourrais google toujours générer la clé eux-mêmes, mais j'ai déjà une clé.

J'ai essayé

keytool-import -keystore ./courtier.ks-fichier mycert.crt

mais cela ne importe le certificat et non pas le fichier de clé et les résultats dans

2009-05-25 13:16:24,270 [localhost:61612] ERREUR TransportConnector - ne Pouvait pas accepter la connexion : Pas de certificat ou la clé correspond à l'algorithme de chiffrement des suites qui sont activées.

J'ai essayé la concaténation du cert et la clé, mais il a obtenu le même résultat

Comment puis-je importer la clé?

594voto

reto Points 4255

J'ai utilisé les deux étapes suivantes, que j'ai trouvé dans les commentaires/posts liés dans les autres réponses:

Première étape: Convertir x509 Cert et la Clé pour un pkcs12

openssl pkcs12 -export -in server.crt -inkey server.key \
               -out server.p12 -name some-alias \
               -CAfile ca.crt -caname root

Remarque: assurez-vous de mettre un mot de passe sur le fichier p12 - sinon vous obtiendrez une référence nulle exception lorsque vous essayez d'importer. (Au cas où quelqu'un d'autre a eu ce mal de tête). (Merci jocull!)

Remarque 2: Vous pouvez ajouter le -chainoption pour conserver toute la chaîne de certificats. (Merci Mafuba)

Étape deux: Convertir le fichier pkcs12 à un keystore java

keytool -importkeystore \
        -deststorepass changeit -destkeypass changeit -destkeystore server.keystore \
        -srckeystore server.p12 -srcstoretype PKCS12 -srcstorepass some-password \
        -alias some-alias

Fini

Étape FACULTATIVE de Zéro, créer un certificat auto-signé

openssl genrsa -out server.key 2048
openssl req -new -out server.csr -key server.key
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

Cheers!

137voto

CoverosGene Points 3294

86voto

Matej Points 2427

Croyez-le ou pas, keytool ne fournit pas ces fonctionnalités de base comme l'importation de la clé privée de magasin de clés. Vous pouvez essayer cette solution de contournement avec la fusion PKSC12 fichier avec la clé privée dans un fichier de clés.

Ou tout simplement plus convivial KeyMan d'IBM pour le fichier de stockage des clés de la manipulation au lieu de keytool.exe.

6voto

Oui, c’est bien triste de constater que keytool n’a aucune fonctionnalité d’importer une clé étrangère.

Pour l’anecdote, à la fin je suis allé avec la solution décrite ici

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X