繁体   English   中英

CURL错误:SSL证书错误:证书链中的自签名证书

[英]CURL error: SSL certificate error: self signed certificate in certificate chain

除非进行以下设置,否则我将收到上述错误:

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

这是不安全的,并且违反了SSL的目的。

我已经从https://curl.haxx.se/ca/cacert.pem下载了最新的cacert.pem证书。

我在php.ini中设置了以下内容,然后重新启动了apache。

curl.cainfo = /etc/ssl/cacert.pem

哪个产生了同样的错误。 所以我试图在运行时设置:

curl_setopt($curl,CURLOPT_CAINFO, "/etc/ssl/cacert.pem");

仍然出现相同的错误。

如果SSL证书由任何证书颁发机构(CA)签名,则客户端应用程序(例如,浏览器)将通过CA验证SSL证书。 CA告诉客户端它是否是受信任的服务器。

当您使用自签名证书而不使用此选项时

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

您会收到错误消息,因为您的客户端应用程序将尝试通过证书颁发机构验证您的自签名SSL证书,而CA将给出错误消息,因为它是自签名证书。

这就是我们必须使用此选项来跳过SSL证书验证步骤的原因。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM