gpt4 book ai didi

php - 不破解 CurlException : 60 (cURL SSL Certificate Verification)

转载 作者:可可西里 更新时间:2023-11-01 12:28:08 26 4
gpt4 key购买 nike

很多人在使用 Facebook 身份验证时遇到的错误是:

CurlException: 60: SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

我能找到的唯一信息是建议将以下代码行添加到 curl 中:

$opts[CURLOPT_SSL_VERIFYPEER] = false;
$opts[CURLOPT_SSL_VERIFYHOST] = 2;

我知道这行得通,但这是怎么回事?没有任何可以更改的服务器设置/配置,而不是破解 facebook.php。

最佳答案

它的作用和意义:

以下代码告诉 cURL 不验证安全证书是否正确。因此,错误消失了。

  $opts[CURLOPT_SSL_VERIFYPEER] = false;
$opts[CURLOPT_SSL_VERIFYHOST] = 2;

当您使用 SSL 连接到远程服务器时,他们的证书可能无效、过期或未由公认的 CA 签名。 cURL 通常会检查它。

CURLOPT_SSL_VERIFYHOST:

  • 1:检查 SSL 对等证书中是否存在通用名称。
  • 2:检查通用名称是否存在,并验证它是否与提供的主机名匹配。

CURLOPT_SSL_VERIFYPEER: FALSE 停止 CURL 验证对等方的证书。可以使用 CURLOPT_CAINFO 选项指定要验证的备用证书,或者可以使用 CURLOPT_CAPATH 选项指定证书目录。如果 CURLOPT_SSL_VERIFYPEER 被禁用(默认为 2),CURLOPT_SSL_VERIFYHOST 可能还需要为 TRUE 或 FALSE。


如何正确启用和验证:

为了正确验证,我们需要验证提供给我们的证书是真实的。我们通过将其与我们合理*信任的证书进行比较来做到这一点。

如果远程资源受 Verisign、GeoTrust 等主要 CA 之一颁发的证书保护,您可以安全地与 Mozilla 的 CA 证书包进行比较,您可以从 http://curl.haxx.se/docs/caextract.html 获得该证书包。

将文件 cacert.pem 保存在服务器的某个位置,并在脚本中设置以下选项。

curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, TRUE); 
curl_setopt ($ch, CURLOPT_CAINFO, "pathto/cacert.pem");

如果您要连接到受自签名证书保护的资源,您需要做的就是获取 PEM 格式的证书副本并将其附加到上一段的 cacert.pem 中。

关于php - 不破解 CurlException : 60 (cURL SSL Certificate Verification),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3642772/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com