У меня есть только файл 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
keytool -exportcert -rfc
пишет в формате PEM и не нуждается в преобразовании. В качестве альтернативы, если у вас есть p12, онopenssl pkcs12 -nokeys
записывает всю цепочку сертификатов в PEM, что обычно лучше для сервера, использующего OpenSSL (например, httpd), если этот сертификат происходит от реального центра сертификации, а не от самоподписанного сертификата по умолчанию для keytool.Вот что я делаю,
Сначала экспортируйте ключ:
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
источник
Нашел ответ здесь:
/programming/7580508/getting-chrome-to-accept-self-signed-localhost-certificate?page=2&tab=Votes
Он показал, как создать crt из файла хранилища ключей jks в Chrome на Windows:
перейдите по ссылке в браузере, который использует JKS с красной линией и слева будет символ блокировки
нажав на незащищенную часть, открывается информационный диалог
нажмите на сертификат (недействительный) и когда он откроется нажмите на детали
нажмите на копию в файл ... и следуйте инструкциям
В конце у вас есть файл хранилища ключей в CRT
источник