panelarrow

Сайт обо всём по-немногу

Сайт обо всём по-немногу

Как извлечь сертификат и приватный ключ из pfx-файла

| 0 comments

До недавнего времени всё у меня на работе было хорошо, разработчики разрабатывали сайты, я приглядывал за серверами. Но в один прекрасный день к нам не пришла беда :(. Как оказалось, компания Google зарегистрировала на себя домен .dev ещё в 2014 году, а после этого в своём браузере Chrome с версии 63 ввела обязательную работу по https-протоколу с сайтами в зоне .dev.

И вот, разработчики обновляют свои браузеры Chrome до 63 версии, а сайты для разработки у нас находятся в зоне .dev — и в результате, вся разработка встаёт колом, ибо разработчики не могут обратиться к сайтам. Виндовс-админы сгенерировали для установки сертификат и прислали мне запароленный pfx-файл. Но мне для установки в nginx нужны приватный ключи и сертификат в формате base64. Поэтому, чтобы их извлечь из pfx-файла надо использовать следующие команды:

1
2
3
# openssl pkcs12 -nodes -in dev-with-priv.pfx -nocerts -out private.key
Enter Import Password:
MAC verified OK

Этой командой из pfx-файла извлекается приватный ключ. для извлечения сертификата, надо выполнить следующую команду:

1
2
3
# openssl pkcs12 -nokeys -in dev-with-priv.pfx -out cert.pem
Enter Import Password:
MAC verified OK

В результате, в текущем каталоге на диске будет создано 2 файла: private.key — в нём будет находится приватный ключ и cert.pem — в нём будет находится сертификат. Кстати, с помощью openssl можно также проверить и их содержимое. Для этого надо выполнить следующие команды:

Проверить содержимое и срок действия сертификата:

1
# openssl x509 -noout -text -in cert.pem

Проверить содержимое запроса на сертификат:

1
# openssl req -noout -text -in dev.csr

Содержимое и параметры приватного ключа

1
# openssl rsa -noout -text -in private.key

Leave a comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *