Экспорт файла P7b со всей цепочкой сертификатов в файл CER
У меня есть файл p7b, предоставленный Thwate. Когда я пытаюсь экспортировать сертификат в файл cer, используя приведенную ниже команду, цепочка сертификатов не включена.
Пожалуйста, предложите, как сделать то же самое. Этот CER необходим для импорта в хранилище ключей веб-журнала.
openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
Ответы
Ответ 1
-print_certs - это опция, которую вы хотите использовать для отображения всех сертификатов в файле p7b, вам может потребоваться указать формат файла p7b, который вы читаете.
Затем вы можете перенаправить вывод в новый файл для создания объединенного списка сертификатов.
Откройте файл в текстовом редакторе, вы увидите либо Base64 (PEM), либо двоичные данные (DER).
openssl pkcs7 -inform DER -outform PEM -in certificate.p7b -print_certs > certificate_bundle.cer
http://www.openssl.org/docs/apps/pkcs7.html
Ответ 2
Единственная проблема заключается в том, что любые дополнительные сертификаты в приведенном файле не будут распознаваться, поскольку инструменты не ожидают более одного сертификата в кодированном файле PEM/DER.
Даже открывает сам.
Попробуйте
openssl x509 -outform DER -in certificate.cer | openssl x509 -inform DER -outform PEM
и убедитесь сами.
Ответ 3
Выбранный ответ не сработал у меня, но он закрылся. Я нашел учебник, который работал у меня, и сертификат, полученный мной от StartCom.
- Откройте .p7b в текстовом редакторе.
-
Измените лидера и трейлера, чтобы файл выглядел примерно так:
-----BEGIN PKCS7-----
[... certificate content here ...]
-----END PKCS7-----
Например, мой сертификат StartCom начался с:
-----BEGIN CERTIFICATE-----
и заканчивается:
-----END CERTIFICATE-----
- Сохраните и закройте .p7b.
-
Запустите следующую команду OpenSSL (работает с Ubuntu 14.04.4 на момент написания):
openssl pkcs7 -print_certs –in pkcs7.p7b -out pem.cer
Вывод - это .cer с цепочкой сертификатов.
Ссылка: http://www.freetutorialssubmit.com/extract-certificates-from-P7B/2206
Ответ 4
У меня была аналогичная проблема с извлечением сертификатов из файла. Это может быть не самый лучший способ сделать это, но это сработало для меня.
openssl pkcs7 -inform DER -print_certs -in <path of the file> | awk 'split_after==1{n++;split_after=0} /-----END CERTIFICATE-----/ {split_after=1} {print > "cert" n ".pem"}'
Ответ 5
Если вы добавите -chain в свою командную строку, он будет экспортировать любые закодированные сертификаты.
http://www.openssl.org/docs/apps/pkcs12.html