Назад | Перейти на главную страницу

Как сгенерировать файлы .key и .crt из файла JKS для сервера httpd apache

у меня есть mycert.jks только файл. Теперь мне нужно извлечь и сгенерировать .key и .crt файл и используйте его на сервере apache httpd.

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

Может ли кто-нибудь перечислить все шаги, чтобы это сделать. Я искал, но нет конкретного примера, чтобы понять, смешанные и согласованные шаги.

Пожалуйста, предложите!

[РЕДАКТИРОВАТЬ] Получение ошибки после выполнения шагов из нижеприведенного ответа.

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 

.jks - это хранилище ключей, которое относится к Java.

использовать keytool бинарный из Java.

экспортировать .crt:

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

преобразовать сертификат в PEM:

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

экспортировать ключ:

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

концерт PKCS12 ключ к незашифрованному PEM:

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

кредиты:

Вот что я делаю,

Сначала экспортируйте ключ:

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

Для файла сертификата apache ssl вам нужен только сертификат:

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

Для файла ключей ssl вам понадобятся только ключи:

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

Нашел здесь ответ:

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

Было показано, как создать crt из файла хранилища ключей jks в Chrome в Windows:

  • перейдите по URL-адресу в браузере, который использует jks с красной линией, и слева будет символ блокировки

  • при нажатии на незащищенную часть открывается информационный диалог

  • щелкните сертификат (недействительный), и когда он откроется, щелкните Подробнее

  • нажмите на копировать в файл ... и следуйте инструкциям

В конце у вас есть файл хранилища ключей в crt