PHP関数とCA証明書を使用するAPIをテストしていますcurl_exec
が、問題が発生していて、少し迷っています。
Apache VirtualHostで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);