◆ご質問◆
アプリケーションの起動時に予期していないアプレット例外が発生し、
「Error: HttpException: “URL~”の送信に失敗しました(12057)」というメッセージが出力されました。
アプレット例外が発生する原因として、どのようなことが考えられるでしょうか。
◆回答◆
CurlではWininetの通信メカニズムを用いております。
今回頂いたHttpExceptionはCurl独自で作成したものではなく、
OS側より発生したエラーをCurlが受け取りスローしております。
表示されている”12057″は、
「ERROR_INTERNET_SEC_CERT_REV_FAILED」であり、
ブラウザが証明書失効リスト(CRL)を配布しているサーバに接続できず、
CRLを確認できないことを示しています。
原因はこの証明書失効リストを確認できず、サーバ証明書の正当性が証明されなかったため、
このサーバからのコンテンツを取得できなかったものと思われます。
この現象を回避するには、以下のことが挙げられます。
・証明書失効リストを確認しないように設定する
・証明書失効リストを配布しているサーバに接続できるようにする
「証明書失効リストを確認しないように設定する」は、
具体的には、インターネットオプションの
「詳細設定」→「サーバー証明書の取り消しを確認する」のチェックを
外すことを意味します。
また、マイクロソフトのサイトにも関連性のある情報がございます。
http://support.microsoft.com/kb/896219/ja
—
httpsを利用している場合で
[暗号化されたページをディスクに保存しない]を有効にしている、
または、http、httpsを問わず、サーバーがCache-Controlヘッダを利用して、
キャッシュを保存させないようにしている場合は、
ファイルのダウンロードに失敗します。
—
http://support.microsoft.com/kb/969608/ja
—
Active Directory の権限管理サービスで保護されているコンテンツを
作成や開くことができず、エラー コード 12057 が記録されます。
—