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: