こんにちは、仲間のプログラマー、
https接続でAPIを作っています。証明書チェックで API 呼び出しを保護したいと考えています。curl から cacert.pem をダウンロードし、これを自分のフォルダーに配置しましたが、機能せず、次のエラーが表示されます。
SSL certificate problem: unable to get local issuer certificate
まあ、cacert.pemファイルが正しく配置されていることは確かですが、皆さんのために、それを機能させるために書いたコードをいくつか示します。
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST ,1);
curl_setopt($ch, CURLOPT_USERPWD, $this->api_key . ":" . $this->api_secret);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($ch, CURLOPT_CAINFO, dirname(__FILE__) . "/cacert.pem");
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_POSTFIELDS ,$post_vars);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION ,0);
curl_setopt($ch,CURLOPT_HTTPHEADER,array('Accept: application/json'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER ,1); // RETURN THE CONTENTS OF THE CALL
$data = curl_exec($ch);
私は SSL 接続についてよく知らないので、私の質問に答えてくれる人がいるといいのですが。
前もって感謝します!