2

私のPHPコードでは、で始まるURLからファイルをダウンロードしようとしていますhttps://

$curlHandle = curl_init();
curl_setopt($curlHandle, CURLOPT_URL, $url);
curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($curlHandle);
curl_close($curlHandle);

$response私がこれをしない限り、たまたまFALSE:

curl_setopt($curlHandle, CURLOPT_SSL_VERIFYPEER, false);

curl_exec()通話前。

ダウンロード元の URL は Window Azure Blob Storage からのもので、で始まるhttps://myaccount.blob.core.windows.netので、サーバーの SSL 証明書に問題はないと思います。

この動作の理由は何ですか?

4

2 に答える 2

4

これは、信頼できると見なされる CA 証明書を使用して curl を構成していないために発生するため、リモート サーバーの証明書の署名を検証する方法がありません (署名が有効である可能性が高いにもかかわらず)。

署名を検証するには、CURLOPT_CAINFOまたはをCURLOPT_CAPATH適切に設定する必要があります。

于 2012-06-21T10:12:15.890 に答える
0

参考までに、Microsoftはこれらすべてを処理するSDK for PHPをリリースしました。これにより、コードはHTTPを使用するのではなく、Azureサービスとの対話に重点を置くことができます。

于 2012-06-28T04:47:29.303 に答える