使用没有密码的证书来使用curl

9

我有自己的CA证书和客户端证书,并且一直在使用cURL正常格式成功地进行操作:

curl --cacert /etc/myca.crt --cert /etc/myclient.pem:mypassword --cert-type PEM --get https://myhost.com

现在,由于本问题范围之外的原因,我拥有相同的客户端证书,但是使用openssl已经去掉了密码。使用openssl我已经验证了新证书的正确性,并且可以在除了cURL以外的应用程序中使用它来进行SSL连接,但是我无法使其与cURL一起工作。
如果我不输入密码:
curl --cacert /etc/myca.crt --cert /etc/myclient.pem --cert-type PEM --get https://example.com

我收到一个错误提示,显示“curl: (58) 无法使用客户端证书(未找到密钥或密码错误?)”

我还尝试过以下方法:

curl --cacert /etc/myca.crt --cert /etc/myclient.pem: --cert-type PEM --get https://example.com

但我仍然遇到同样的错误。

我正在Perl脚本中调用cURL,所以我需要找到一种不会提示我输入密码的方法。我使用的是RHEL 5上的cURL 7.15.5。

谢谢。

1个回答

6

您可以使用--pass开关:

--pass <phrase>                  (SSL/SSH) Passphrase for the private key

为了使用空白口令,你可以使用以下方法:
--pass ''

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接