До недавнего времени всё у меня на работе было хорошо, разработчики разрабатывали сайты, я приглядывал за серверами. Но в один прекрасный день к нам не пришла беда :(. Как оказалось, компания 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 |