Назад | Перейти на главную страницу

Сертификат клиента работает в Firefox в формате .p12, но не в формате .pem

Мне нужно было преобразовать файл .p12 сертификата клиента в .pem, и я сделал это с помощью следующей команды:

openssl pkcs12 -in combo.p12 -out combo.pem

При импорте .p12 в Firefox для тестовых работ меня просят ввести мою парольную фразу, и после ввода моих данных он импортируется, но импорт файла .pem ничего не делает, просто ничего не происходит.

Формат моего созданного сертификата .pem (... для конфиденциальных данных):

Bag Attributes
   friendlyName: cn=...
   localKeyID: ...
Key Attributes: <No Attributes>
-----BEGIN ENCRYPTED PRIVATE KEY-----

(my encrypted data)

-----END ENCRYPTED PRIVATE KEY-----
Bag Attributes
   friendlyName: cn=...
   localKeyID: ... 
subject=C = ....

issuer=....

-----BEGIN CERTIFICATE-----

(my encrypted data)

 -----END CERTIFICATE-----

Источник здесь https://knowledge.digicert.com/solution/SO5437.html говорит, что Firefox должен поддерживать как .pem, так и .p12, а запрос файла импорта Firefox предлагает опции «Файл PKCS12» и «Файл сертификата» в меню фильтра файлов.

Я также могу использовать .p12 с PHP (CURL) и SoapUI, но не с моим файлом .pem (SoapClient).

В качестве альтернативы, если это не проблема, как я могу проверить, в порядке ли мой файл .pem? Я попытался:

openssl verify combo.pem

возвращается

error 20 at 9 depth lookup: unable to get local issuer certificate
error combo.pem: verification failed

Файл pem может содержать разные части сертификатов, поэтому у вас могут быть разные способы его создания. В вашем случае - ошибка, которую вы получаете, означает, что вам не хватает сертификата эмитента для проверки надежности вашего сертификата.

Так что попробуйте добавить полную цепочку в pem следующим образом:

----- НАЧАТЬ ЧАСТНЫЙ КЛЮЧ RSA -----

(Ваш закрытый ключ: your_client.key)

----- КОНЕЦ ЧАСТНОГО КЛЮЧА RSA -----

----- НАЧАТЬ СЕРТИФИКАТ -----

(Ваш основной сертификат SSL: your_client.crt)

----- КОНЕЦ СЕРТИФИКАТА -----

----- НАЧАТЬ СЕРТИФИКАТ -----

(Ваш промежуточный сертификат: your_Issuer.crt)

----- КОНЕЦ СЕРТИФИКАТА -----

----- НАЧАТЬ СЕРТИФИКАТ -----

(Ваш корневой сертификат: Your_Root.crt)

----- КОНЕЦ СЕРТИФИКАТА -----