gpt4 book ai didi

php - SSL 对等证书或 SSH 远程 key 不正确

转载 作者:可可西里 更新时间:2023-10-31 22:14:16 25 4
gpt4 key购买 nike

我正在测试一个使用 curl_exec php 函数和 CA 证书的 API,但出了点问题,我有点迷茫。

我已经在我的 apache VirtualHost 上配置了 SSL,看起来没问题(打开 https:://[myVHost]... 有效)。

但是 API curl 调用返回了这条消息:

  • SSL 对等证书或 SSH 远程 key 不正确

我对 SSL 不是很有经验,所以我不知道这是什么原因。

更新:

这是我在我的 cURL 请求中使用的代码,我注释了 2 行并更改了它们的值(查看“TODO”行)并且以这种方式它正在工作,但这只是一个工作范围.. .

$opts[CURLOPT_URL] = $url;
$opts[CURLOPT_RETURNTRANSFER] = true;
$opts[CURLOPT_CONNECTTIMEOUT] = 50;
$opts[CURLOPT_TIMEOUT] = 100;
$headers = array(
'Accept: application/json',
"User-Agent: APIXXX-PHP-Client");
$opts[CURLOPT_HTTPHEADER] = $headers;
$opts[CURLOPT_USERPWD] = $env->getApiKey() . ':';
if (certificatePresent()) {

// $opts[CURLOPT_SSL_VERIFYPEER] = true;
// $opts[CURLOPT_SSL_VERIFYHOST] = 2;

// TODO: SET IT BACK
$opts[CURLOPT_SSL_VERIFYPEER] = 0;
$opts[CURLOPT_SSL_VERIFYHOST] = 0;

$opts[CURLOPT_CAINFO] = $path

}

curl_setopt_array($curl, $opts);

$response = curl_exec($curl);

最佳答案

您可能正在使用自签名 SSL 证书,当设置了 CURLOPT_SSL_VERIFYPEER 选项时,该证书不会通过。

有两种解决方法:

  1. 设置有效的 SSL 证书。
  2. 在 Curl 中禁用 SSL 验证。 ( add --insecure option )

如果您禁用验证,您将无法确定您是否真的在与您的主机通信。所以这取决于您需要的安全级别。

关于php - SSL 对等证书或 SSH 远程 key 不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14192837/

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