Windows マシンでローカル XAMPP サーバーを実行しています。
このサーバーから、CURL 経由で SSL 暗号化されたページに接続しようとしています。
次のエラーが発生しました。
SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
を使用してSSL検証を無効にするだけでよいことに気付きました...
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
..しかし、私は本当にこれをしたくありません。それが SSL を使用するポイントです。
ここで取得できる.pemファイルにCURLオプション「CURLOPT_CAINFO」を設定することを指すいくつかの回答を見てきました:http://curl.haxx.se/ca/cacert.pem
curl_setopt($ch, CURLOPT_CAINFO, 'C:\xampp\cacert.pem' );
指定されたフォルダーにファイルを配置し、curl_exec を実行する前に上記のコマンドを実行しました。しかし、以前と同じエラーが発生します。
接続しようとしているサイトから証明書をダウンロードしようとしましたが、エラー メッセージは同じです。
PHP は、たとえば file_get_contents を使用して .pem ファイルにアクセスできるため、ファイル アクセス/パーミッションの問題ではないようです。
この問題が続く原因は何ですか?
私は走っています:
- PHP バージョン: 5.2.9
- cURL 情報: libcurl/7.16.0 OpenSSL/0.9.8i zlib/1.2.3