【发布时间】:2012-04-22 05:01:54
【问题描述】:
我是 Curl 和 Cacerts 世界的新手,在连接服务器时遇到问题。 基本上,我需要通过 https 测试从一台机器到另一台机器的连接性。 我有一个需要从机器 A(Linux 机器)连接到的 URL 我在命令提示符下试过这个
cmd> curl https://[my domain or IP address]
得到以下结果:
curl: (60) SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
在浏览互联网上的一些文章时,我这样做了:
openssl s_client -connect <domain name or Ip address>:443
并得到了一些回应,包括
服务器证书(在-----BEGIN CERTIFICATE----- and -----END CERTIFICATE----- 内)。
从这里我接下来应该做什么。我想,我只需要复制粘贴里面的文字
BEGIN CERTIFICATE & END CERTIFICATE 并将其保存在文件中。
但,
它应该是什么类型的文件? .pem, .crt ?..
之后我该怎么办?
我试过这个 - 复制 BEGIN CERTIFICATE & END CERTIFICATE 中的文本并将其保存在 .crt 文件中 - 将其命名为 my-ca.crt (也尝试将其命名为 my-ca.pem 文件)
然后这样做:
cmd>curl --cacert my-ca.crt https://[my domain or IP address]
但是遇到了同样的错误。
【问题讨论】:
-
不确定你建议的解决方案,但我只是在寻找类似的信息,我发现这个有用的网站用于使用 curl 和 PHP unitstep.net/blog/2009/05/05/…
-
您也可以添加
--insecure以忽略 SSL 错误。 -
新版本的 curl(例如 7.64)无法识别像 RC4-SHA 这样的旧密码 - 使用旧版本的 curl (7.46) 帮助了我serverfault.com/questions/889631/…
标签: curl ssl command-line https certificate