Конвертация PFX-сертификата в CRT и KEY

PFX (PKCS#12) удобен для переноса: сертификат и ключ в одном зашифрованном файле. На сервере чаще нужны отдельные .crt и .key. OpenSSL решает это за две команды.

Что понадобится

  • OpenSSL в PATH
  • PFX-файл с сертификатом и ключом
  • Пароль от PFX

Извлечь сертификат

openssl pkcs12 -in certificate2024.pfx -clcerts -nokeys -out example_com.crt

Флаг -clcerts берёт клиентский сертификат; -nokeys исключает ключ из вывода.

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

Два шага (если нужен отдельный расшифрованный ключ):

openssl pkcs12 -in certificate2024.pfx -nocerts -out server.key
openssl rsa -in server.key -out example_com.key

Один шаг (ключ сразу без шифрования на диске — только на доверенной машине):

openssl pkcs12 -in certificate2024.pfx -nodes -nocerts -out example_com.key

Результат

Файл Содержимое
example_com.crt Сертификат (PEM)
example_com.key Приватный ключ (PEM)

Импортируйте пару в веб-сервер или балансировщик. Храните .key с минимальными правами (chmod 600), не кладите в Git.

На практике

Если nginx ругается на «key values mismatch» — в PFX мог быть промежуточный CA, а не leaf. Добавьте -clcerts при извлечении cert или проверьте цепочку через openssl pkcs12 -in file.pfx -info -noout.

Оставьте комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.