2

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

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

在 .Net 中调用 Web 服务时绕过无效的 SSL 证书错误

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

那么在 Windows CE 中是否有另一种方法可以做到这一点?

4

1 回答 1

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();

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

更多信息在这里

于 2015-07-10T14:26:49.560 回答