2016-03-23 9 views
0

Я пытаюсь преобразовать SSL-сертификат подстановки в формат PEM, чтобы я мог использовать его в Cloudfront Amazon. Единственный доступный формат файла - pfx. Я попытался с помощью следующих команд:Преобразование PFX в PEM и ошибка «не удалось загрузить сертификат»

Извлечь закрытый ключ из PFX

openssl pkcs12 -in {site}.pfx -nocerts -nodes -passin pass:{password} | openssl rsa -out {site}.key 

извлечь открытый ключ из PFX

openssl pkcs12 –in {site}.pfx -clcerts -nokeys -passin pass:{password} | openssl x509 -out {site}.cer 

Извлечение цепи сверток из PFX

openssl pkcs12 -in {site}.pfx -nodes -nokeys -cacerts -passin pass:{password} | openssl x509 -out bundle.crt 

Первые две команды создалась без каких-либо проблем, однако последний возвращает следующее:

MAC verified OK 
unable to load certificate 
17856:error:0906D06C:PEM routines:PEM_read_bio:no start line:.\crypto\pem\pem_lib.c:701:Expecting: TRUSTED CERTIFICATE 

Любая помощь будет принята с благодарностью!

+0

Вы должны получить эту ошибку, если (и только если) PFX содержит * просто * сертификат сервера и * нет * CA cert (s). Сделайте 'openssl pkcs12 -in whatever.pfx -nokeys' и посмотрите, сколько блоков BEGIN CERTIFICATE/END CERTIFICATE отображаются и имена (субъект и эмитент) для каждого. PS: '-nodes' бесполезен и игнорируется с помощью' -nokeys'; если/если имеется более одного сертификата CA, то передача через 'openssl x509' отменяет все, кроме первого, давая, вероятно, бесполезный результат. –

+0

Stack Overflow - это сайт для вопросов программирования и разработки. Этот вопрос кажется вне темы, потому что речь идет не о программировании или разработке. См. [Какие темы можно задать здесь] (http://stackoverflow.com/help/on-topic) в Справочном центре. Возможно, лучше сказать [Суперпользователь] (http://superuser.com/) или [Unix & Linux Stack Exchange] (http://unix.stackexchange.com/). Также см. [Где я пишу вопросы о Dev Ops?] (Http://meta.stackexchange.com/q/134306). – jww

ответ

0

С контентом pkcs12 в openssl вы можете указать, какие компоненты вы хотите получить из файла pfx. Если вы не хотите, подписанный сертификат, но только эмитенту сертификатов, попробуйте следующее:

openssl pkcs12 -in mycerts.pfx -cacerts -out myissuercerts.cer

Чтобы получить расширение элт файл просто переименовать файл из .cer в .CRT. http://www.networksolutions.com/support/what-is-the-difference-between-a-crt-and-a-cer-file/

Надеюсь, это поможет.

Смежные вопросы