web-dev-qa-db-fra.com

Comment générer un fichier .key et .crt à partir d'un fichier JKS pour le serveur Apache httpd

J'ai le fichier mycert.jks uniquement. Maintenant, je dois extraire et générer le fichier . Key et .crt et l'utiliser sur le serveur Apache httpd.

SSLCertificateFile /usr/local/Apache2/conf/ssl.crt/server.crt 
SSLCertificateKeyFile /usr/local/Apache2/conf/ssl.key/server.key 

Quelqu'un peut-il énumérer toutes les étapes pour y parvenir? J'ai cherché mais il n'y a pas d'exemple concret pour comprendre, des étapes mixtes et appariées.

Veuillez suggérer!

[EDIT] Obtenir une erreur après avoir suivi les étapes ci-dessous, répondez.

8/‎21/‎2015 9:07 PM] Sohan Bafna: 
    [Fri Aug 21 15:32:03.008511 2015] [ssl:emerg] [pid 14:tid 140151694997376] AH02562: Failed to configure certificate 0.0.0.0:4545:0 (with chain), check /home/certs/smp_c
    ert_key_store.crt
    [Fri Aug 21 15:32:03.008913 2015] [ssl:emerg] [pid 14:tid 140151694997376] SSL Library Error: error:0906D06C:PEM routines:PEM_read_bio:no start line (Expecting: TRUSTED
     CERTIFICATE) -- Bad file contents or format - or even just a forgotten SSLCertificateKeyFile?
    [Fri Aug 21 15:32:03.008959 2015] [ssl:emerg] [pid 14:tid 140151694997376] SSL Library Error: error:140DC009:SSL routines:SSL_CTX_use_certificate_chain_file:PEM lib 
22
Sohan

Voici ce que je fais,

Exportez d'abord la clé:

keytool -importkeystore -srckeystore mycert.jks -destkeystore keystore.p12 -deststoretype PKCS12

Pour le fichier de certificat SSL Apache, vous avez uniquement besoin d'un certificat:

openssl pkcs12 -in keystore.p12 -nokeys -out my_key_store.crt

Pour le fichier de clés SSL, vous n'avez besoin que de clés:

openssl pkcs12 -in keystore.p12 -nocerts -nodes -out my_store.key

21
Sohan

.jks est un fichier de clés, qui est une chose Java

utiliser keytool binaire de Java.

exporter le .crt :

keytool -export -alias mydomain -file mydomain.der -keystore mycert.jks

convertir le certificat en PEM :

openssl x509 -inform der -in mydomain.der -out certificate.pem

exporter la clé :

keytool -importkeystore -srckeystore mycert.jks -destkeystore keystore.p12 -deststoretype PKCS12

clé de concert PKCS12 vers un PEM non chiffré :

openssl pkcs12 -in keystore.p12  -nodes -nocerts -out mydomain.key

crédits:

33
exeral

Réponse trouvée ici:

https://stackoverflow.com/questions/7580508/getting-chrome-to-accept-self-signed-localhost-certificate?page=2&tab=Votes

Il a montré comment créer crt à partir du fichier de magasin de clés jks dans Chrome sous Windows:

  • allez à l'url dans le navigateur qui utilise jks avec la ligne rouge et il y aura un symbole de verrouillage à gauche

  • en cliquant sur la partie non sécurisée, la boîte de dialogue d'information s'ouvre

  • cliquez sur le certificat (invalide) et quand il s'ouvre cliquez sur Détails

  • appuyez sur la copie pour classer ... et suivez les instructions

À la fin, vous avez un fichier de clés dans crt

0
Zeghra