OpenSsl: как создать PFX / P12 без включения файлов CA? - PullRequest
0 голосов
/ 06 марта 2019

У меня есть цепочка доверенных сертификатов, сертификат, выпущенный этой цепочкой, и файл закрытого ключа для этого сертификата.

Я хочу создать для этого P12 / PFX, чтобы я мог поместить его в качестве сертификата клиента вхранилище windows:

OpenSsl Pkcs12 -export -nokeys
               -certfile mytrustedCertifcates.pem^
               -inkey myPrivateKey.Key^
               -in myCertificate.crt^
               -out myCertificate.P12

Увы, полученный файл содержит все доверенные сертификаты.Если я импортирую P12 в хранилище сертификатов Windows, я импортирую всю цепочку сертификатов, хотя они уже находятся в хранилище сертификатов.

Я также попробовал варианты: (из Утилиты командной строки OpenSsl , также в -help)

  • -nocerts не выводит сертификаты.
  • -clcerts только выводит клиентские сертификаты.

Увы, P12 все ещесодержит полную цепочку сертификатов, а импорт P12 снова импортирует всю цепочку.

1 Ответ

0 голосов
/ 07 марта 2019

BartonJs дал ответ в комментарии (спасибо BartonJs!):

пропустите параметр --certfile:

OpenSsl Pkcs12 -export -nokeys
               -name some friendly name
               -inkey myPrivateKey.Key^
               -in myCertificate.crt^
               -out myCertificate.P12
  • nokeys: пропустите пароль PEM
  • name: понятное имя, которое будет отображаться в понятном для столбца имени winstore
  • inkey и in - это сертификат ввода с его закрытым ключом
  • out - это имяфайл для производства.

После импорта его в хранилище (команда: certlm.msc), он правильно говорит:

  • Выдан:
  • Выданпо:
  • Срок годности
  • Предполагаемые цели
  • Дружественное имя:
...