我想绕过Windows CE中的Web服务的SSL证书错误。
.net Windows应用程序有很多解决方案,例如;
Bypass invalid SSL certificate errors when calling web services in .Net
但是在windows中我无法导入ServicePointManager库。
在Windows CE中还有另一种方法吗?
答案 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