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: