Вы можете использовать опции -nocerts
и -nokeys
для openssl pkcs12
, чтобы выводить только ту часть, которая вам нужна. Запустите openssl pkcs12
с каждым по очереди:
openssl pkcs12 -in cert_and_pvt_key.pfx -nokeys -out cert.pem
, то:
openssl pkcs12 -in cert_and_pvt_key.pfx -nocerts -out pvt_key.pem
Если у вас нет доступа к исходному файлу PKCS # 12, то это становится немного сложнее. Следующее должно работать:
openssl pkcs12 -export -in cert_and_pvt_key.pem | openssl pkcs12 -nokeys -out cert.pem
и
openssl pkcs12 -export -in cert_and_pvt_key.pem | openssl pkcs12 -nocerts -out pvt_key.pem
Тем не менее, при запросе PKCS # 12 запрашивается парольная фраза и еще раз, когда он пытается разделить файл на сертификат и ключи. OpenSSL предоставляет глагол -nodes
для отключения этой парольной фразы, но, похоже, он не работает с -export
. Поэтому в скрипте произойдет сбой.
В противном случае вы можете разделить файл на awk
или аналогичный. На этом сайте множество примеров.