使用下面的 CURL 语法
curl --header "Content-type: application/json" --request POST --data '{ "userID" : "***", "securityCode":"***", "token":"***" }' https://12.12.12.12:1234/hhh/AAA/bbb
产生此错误
curl:(60)颁发者证书无效。更多详细信息请参见: http://curl.haxx.se/docs/sslcerts.html
curl 默认使用证书颁发机构 (CA) 公钥 (CA 证书) 的“捆绑包”执行 SSL 证书验证。如果默认捆绑包文件不够用,您可以使用 --cacert 选项指定备用文件。如果此 HTTPS 服务器使用捆绑包中代表的 CA 签名的证书,则证书验证可能由于证书问题而失败(证书可能已过期,或者名称可能与 URL 中的域名不匹配)。如果您想关闭 curl 的证书验证,请使用 -k(或 --insecure)选项
尝试过这个方法
curl https://curl.haxx.se/ca/cacert.pem -o /etc/pki/ca-trust/source/anchors/ca-bundle.crt
update-ca-trust
仍然不起作用。我不想使用-k
这个选项,它只是解决不安全连接问题的变通方法。有人遇到过同样的问题吗?请分享。谢谢
Ps. 在 Centos 7 环境下
答案1
服务器的证书不受信任,或者未将 12.12.12.12 列为已验证的 IP 地址。您可以使用
openssl s_client -showcerts -connect 12.12.12.12:1234 </dev/null
检查证书并查看问题到底是什么。