8

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

cURL 返回此错误:

unable to load client key: -8178 (SEC_ERROR_BAD_KEY)

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

我找不到如何使用“certutil”或“openssl”生成对 NSS 有效的证书。

4

1 回答 1

14

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

于 2014-03-19T09:50:41.020 回答