3

MicrosoftのWinHttpRequestCOMオブジェクトを使用して、無効な証明書を含むWebページを要求しています。

IWinHttpRequest http = new WinHttpRequest();
http.Open("GET", url, false);
http.Send(null);

の呼び出しがSend例外をスローすることを除いて:

0x80072F0D - The certificate authority is invalid or incorrect

WinHttpRequest気にしないこと、そして要求したページを取得したいことをどのように伝えることができますか?

4

1 に答える 1

7

解決策は、 4種類のSSLエラーを無視することです。

//Code is released into the public domain. No attribution required. 
IWinHttpRequest http = new WinHttpRequest();
http.Open("GET", url, false);

//ignore any TLS errors 
option = http.Option[WinHttpRequestOption_SslErrorIgnoreFlags];
options = options | SslErrorFlag_Ignore_All;
http.Option[WinHttpRequestOption_SslErrorIgnoreFlags] = option; 

    //SslErrorFlag_Ignore_All                                  0x3300
    //Unknown certification authority (CA) or untrusted root   0x0100
    //Wrong usage                                              0x0200
    //Invalid common name (CN)                                 0x1000
    //Invalid date or certificate expired                      0x2000

http.Send(null);
于 2012-08-22T20:35:23.860 に答える