Собрать SSL-сертификат в PFX-файл (также известный как PKCS#12) можно с помощью OpenSSL в linux и windows системах:
1. Убедитесь, что у вас есть все необходимые файлы:
- сертификат (.crt, .cer, .pem)
- приватный (закрытый) ключ (.key)
- опционально: цепочка промежуточных сертификатов ((.crt, .cer, .pem))
2. Используйте OpenSSL для создания PFX:
openssl pkcs12 -export -out certificate.pfx -inkey private.key -in certificate.crt -certfile fullchain.crt
где:
-out certificate.pfx — выходной PFX-файл;
-inkey private.key — Ваш приватный ключ;
-in certificate.crt — Ваш сертификат;
-certfile ca-bundle.crt — файл с промежуточными сертификатами (опционально, но рекомендуется для корректной работы цепочки доверия).
3. Введите пароль (если требуется):
OpenSSL запросит пароль для защиты PFX-файла. Этот пароль понадобится при импорте сертификата.
Примечание: старые версии Windows могут не поддерживать современные алгоритмы шифрования PFX (например, AES-256). Попробуйте создать PFX с -legacy:
openssl pkcs12 -legacy -export -out certificate.pfx -inkey private.key -in certificate.crt -certfile fullchain.crt
В windows SSL-сертификат в PFX-файл можно собрать с помощью CertUtil –MergePFX:
1. Установка промежуточного сертификата
Промежуточный сертификат импортируем в «Computer\Intermediate Certificate Authorities»
2. Сборка сертификата pfx
Для сборки понадобится ключ и сам сертификат. Файлы должны находиться в одной директории и имена файлов должны совпадать. Используем встроенную утилиту Windows «CertUtil.exe».
Выполняем команду: CertUtil –MergePFX <имя>.crt <имя>.pfx.
Вводим пароль два раза.
На выходе получим .pfx файл.
Для включения в .pfx файл промежуточных сертификатов и сертификата центра сертификации(CA) необходимо экспортировать сертификат с опциями «Yes, export private key» и «Include all certificates in the certification path if possible» в certlm.msc.