Сертификат SSL, созданный с помощью OpenSSL, не работает на NSS

У меня есть сертификат SSL ( key.pem, cacert.pem, pcert.pem), сгенерированный с OpenSSL на компьютере Linux Mint. Сейчас я пытаюсь переместить свое приложение на другой сервер, на котором установлена ​​Fedora 18 с NSS.

cURL возвращает эту ошибку:

unable to load client key: -8178 (SEC_ERROR_BAD_KEY)

Я проверил снова и на моем компьютере работает нормально, но на сервере нет. Я думаю, это потому, что я использовал OpenSSL для генерации сертификатов, но на сервере установлен NSS.

Я не могу найти, как генерировать сертификаты с "certutil" или с "openssl", чтобы быть действительным с NSS.

1 ответ

Решение

Ошибка произошла из-за моего закрытого формата PKCS#8:
- С закрытым ключом PKCS#8
-----BEGIN ENCRYPTED PRIVATE KEY----- заголовок
или же
-----BEGIN PRIVATE KEY----- заголовок
curl + openssl работает, но не curl+nss+libnsspem.so
- с закрытым ключом RSA
-----BEGIN RSA PRIVATE KEY----- заголовок
оба curl + openssl и curl+nss+libnsspem.so работают.

Так что используйте эту команду openssl rsa -in key.pem -out newkey.pem удалить парольную фразу из закрытого ключа RSA:

Другие вопросы по тегам