我有自己的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。
谢谢。
答案 0 :(得分:1)
你应该添加:
--pass <phrase>
(SSL/SSH) Passphrase for the private key
phrase=""