【问题标题】:Unable to get local issuer certificate using CURL无法使用 CURL 获取本地颁发者证书
【发布时间】:2015-08-28 06:48:06
【问题描述】:

使用 https url 调用 CURL 时出现以下错误:

“SSL 证书问题:无法获取本地颁发者证书”

    $ch = curl_init($sendurl);                                                                                                                                     
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);  

    curl_setopt($ch, CURLOPT_CAINFO, dirname(__FILE__) .'/cert/uat.abc.pem');

    echo $result = curl_exec($ch);
    echo curl_error($ch);

有人知道怎么设置吗?

【问题讨论】:

  • 尝试使用来自curl.haxx.se/ca/cacert.pem 的最新cacert.pem - 根据您的 curl 请求调整/编辑路径
  • 您可以通过以下方式禁用证书验证: curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  • 我们不想使用开放的CA,我们需要使用自己的证书。
  • curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false) 不安全。我们需要验证 ssl cer

标签: php curl


【解决方案1】:

我认为你可以设置 CURLOPT_SSLCERT 选项来修复它,或者使用 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1) 和 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false) 来忽略这种变暖

【讨论】:

    猜你喜欢
    • 2013-03-20
    • 2018-03-16
    • 2016-04-20
    • 2018-05-06
    • 2016-10-30
    • 1970-01-01
    • 2020-11-29
    • 2021-05-24
    • 2017-07-19
    相关资源
    最近更新 更多