PFX — это формат, в котором есть как сертификат (открытый), так и закрытый ключ.

Иногда у нас есть файл .crt и секретный ключ .pem, и нам нужно создать файл .pfx для импорта на сервер, обычно это продукт Microsoft, такой как Azure и IIS.

Объедините сертификаты в полную цепочку

Если у вас есть цепочка (серия) сертификатов, вам необходимо объединить их в один сертификат.

Согласно спецификации RFC, это очень просто: вы просто объединяете сертификат

cat my_domain.crt intermidiate.crt root.crt > fullchain.crt

# Real Example from DigiCert
cat my_domain.crt DigiCertCA.crt TrustedRoot.crt > fullchain.crt

Как проверить объединенный сертификат (цепочку)

При открытии с помощью KeyChain (Mac) или сертификата (Window) и нажатия кнопки «Просмотреть сертификат» вы увидите зеленую галочку, как показано на снимке экрана ниже.

Преобразование .crt в .pem

Команда OpenSSL принимает только файл .pem.

После конвертации серия ---BEGIN... объединяется в один сертификат.

openssl x509 -in fullchain.crt -out fullchain.pem -outform PEM

Объедините сертификат и закрытый ключ в формате pfx.

PFX или PKCS12 представляет собой комбинацию

  1. Закрытый ключ
  2. Сертификаты
    Все сертификаты, включая промежуточные, в виде цепочки
openssl pkcs12
-inkey privatekey.pem
-in fullchain.pem
-export -out mycert.pfx

Обратите внимание: поскольку у него есть закрытый ключ, вы должны ввести пароль, который используется для импорта сертификата.

Проверка PFX

Запустите команду OpenSSL с указанным входным файлом -in.

openssl pkcs12 -in mycert.pfx -info

Теперь вы можете увидеть информацию.

Итак, теперь мы можем использовать pfx для импорта в целевую систему, например, шлюз приложений Azure.

Увидимся в следующий раз.

Рекомендации

Это руководство эквивалентно выполнению этого действия с сайта Digicert.

https://www.digicert.com/kb/ssl-support/pem-ssl-creation.htm#:~:text=Creating%20a%20.pem%20with%20the%20Entire%20SSL%20Certificate%20Trust% 20Chain&text=Open%20a%20text%20editor%20(например,%20Root%20Certificate%20%2D%20TrustedRoot.crt