如何在Windows CE中绕过SSL证书错误

时间:2013-05-29 10:41:08

标签: c# .net windows-ce

我想绕过Windows CE中的Web服务的SSL证书错误。

.net Windows应用程序有很多解决方案,例如;

Bypass invalid SSL certificate errors when calling web services in .Net

但是在windows中我无法导入ServicePointManager库。

在Windows CE中还有另一种方法吗?

1 个答案:

答案 0 :(得分:5)

您实际上也可以在CF中使用ServicePointManager。 首先,创建一个接受所有内容的策略,如下所示:

public class TrustAllCertificatePolicy : ICertificatePolicy
{
    public TrustAllCertificatePolicy()
    {
    }

    public bool CheckValidationResult(ServicePoint sp,
        X509Certificate cert, WebRequest req, int problem)
    {
        return true;
    }
}

要使用此类,您应该为每个应用程序会话运行以下代码(每次启动应用程序;每次建立SSL连接时都将使用TrustAllCertificatePolicy实例),并且在您发出任何Web请求之前(最好在应用程序启动时。)

System.Net.ServicePointManager.CertificatePolicy = new TrustAllCertificatePolicy();

此解决方案相当于对通常出现在浏览器中的任何安全消息回答“是”。

更多信息here