SSL 对等证书或 SSH 远程密钥不正常
我正在测试一个使用php函数和CA证书的API,但出了点问题,我有点迷茫。curl_exec
我已经在我的apache虚拟主机上配置了SSL,看起来还不错(打开...作品)。https:://[myVHost]
但是,API curl 调用会给我以下消息:
SSL peer certificate or SSH remote key was not OK
我对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);