使用OpenSSL生成的SSL证书不适用于NSS

时间:2014-03-19 07:49:44

标签: curl ssl openssl certificate nss

我在Linux Mint机器上使用OpenSSL生成SSL证书(key.pem,cacert.pem,pcert.pem)。现在我试图将我的应用程序移动到另一台安装Fedora 18和NSS的服务器上。

cURL返回此错误:

unable to load client key: -8178 (SEC_ERROR_BAD_KEY)

我再次测试并在我的计算机上工作正常,但在服务器上没有。我认为这是因为我使用OpenSSL生成证书,但在服务器上安装了NSS。

我无法找到如何使用" certutil"生成证书。或者使用" openssl"对NSS有效。

1 个答案:

答案 0 :(得分:13)

失败是由于我的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私钥上的密码短语: