Создание PFX контейнера средствами OpsenSSL
PFX нужен для работы с Tomcat или IIS, других сценариев я не знаю. Зачастую сертификат приходит в виде набора файлов:
- Сам сертификат crt
- Ключ от сертификата key
- Промежуточные сертификаты
Последовательность действий незамысловата:
- Создаём цепочку сертификатов, такая цепочка нужна для Nginx
cat domain.crt intermidate1.crt intermidate2.crt root.crt > domain-bundle.crt
- А теперь цепочку сертификатов запихиваем в контейнер
openssl pkcs12 -export -out cert-container.pfx -inkey domain.key -in domain-bundle.crt -certfile domain-bundle.crt
Решение обратной задачи:
openssl pkcs12 -in iac-spb.ru.pfx -out iac-spb-ru.cer -nodes
Создастся файл в котором содержаться сертификат, промежуточные сертификаты и ключ.
Чтобы разделить сертификаты и ключ можно пойти следующим путём
openssl pkcs12 -in cert-container.pfx -out domain-boundle.crt -nokeys
openssl pkcs12 -info -in cert-container.pfx -out domain.key -nodes -nocerts