ServerCertificateValidationCallback 被忽略

Joe*_*Joe 6 .net c# ssl

我有以下代码,这会导致 WebException,我一生都无法弄清楚原因。Windows 8 RTM 上的 VS2012 / .Net 4.5 RTM。

    ServicePointManager.CertificatePolicy = null;
    ServicePointManager.CheckCertificateRevocationList = false;
    ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };

    var request = WebRequest.Create(url) as HttpWebRequest;
    request.ServerCertificateValidationCallback = delegate { return true; };

    var response = request.GetResponse();

    WebException was unhandled
    The request was aborted: Could not create SSL/TLS secure channel.
Run Code Online (Sandbox Code Playgroud)

我最初将回调作为自己的方法,从未调用过。为什么我无法忽略 SSL 验证错误并将所有敏感数据发送到未知的 Web 服务器的任何想法?

Kar*_*ten 1

微软不会允许的。它损害了平台,因为这就是我们不为其开发应用程序的原因。(我们有数百万满意的客户)

http://social.msdn.microsoft.com/Forums/windowsapps/en-US/f5821194-4c40-48e7-976c-3dec8864ac59/servicepointmanagerservercertificatevalidationcallback?forum=winappswithcsharp

您需要有效的证书或真正的解决方法。出于安全原因,这是一个很大的缺点。