0

Windows を使用して PHP と cURL に奇妙な問題があります。

https リソースへの cURL 呼び出しがある場合。今朝まではすべて順調でした。URL を要求すると、cURL は次のエラーをスローします。

SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

.pem ファイルまたはホストの検証の無効化について読みました。しかし、何が問題を引き起こしているのか疑問に思っているので、どちらも使用したくありません。

今日まで、cURL はどのようにして URL を検証できたのでしょうか? システム CA 情報を使用しますか? この 1 日間、PHP または cURL の更新を行っていません。

4

2 に答える 2

1

ほとんどの場合、サーバーの証明書の有効期限が切れているか、自己署名証明書、信頼していない CA によって発行された証明書、または間違ったサブジェクトに対して発行された証明書に置き換えられています。

問題が何であれ、それはサーバー側であり、コードとは関係ありません。使用しているサービスを運営している人々に連絡して、問題を知らせる必要があります。

ブラウザで URL にアクセスして、証明書を簡単に調べることができます。ブラウザは、証明書を検証することもできないため、問題が何であるかを正確に伝える、人間が判読できる適切なメッセージを表示する可能性が高くなります。

サービスプロバイダーに連絡して、実際に証明書に問題があることを確認したら、これは誰かがあなたをだまして間違ったサーバーを使用させようとしているケースではありません (結局のところ、これは SSL の主な目的の 1 つです)。 )一時的な修正として、サーバー証明書の検証をスキップできます。

于 2012-05-14T08:26:54.097 に答える
-2

これを追加:

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

サーバーの設定を変更する必要があると思います

于 2012-05-14T08:30:07.693 に答える