我在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有效。
答案 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私钥上的密码短语: