我想绕过Windows CE中Web服务的SSL证书错误。
.net Windows 应用程序有许多解决方案,例如;
Bypass invalid SSL certificate errors when calling web services in .Net
但是在 windows ce 中我无法导入 ServicePointManager 库。
那么在 Windows CE 中还有另一种方法可以做到这一点吗?
最佳答案
事实上,您也可以在 CF 中使用 ServicePointManager。 首先,创建一个接受所有内容的策略,如下所示:
public class TrustAllCertificatePolicy : ICertificatePolicy
{
public TrustAllCertificatePolicy()
{
}
public bool CheckValidationResult(ServicePoint sp,
X509Certificate cert, WebRequest req, int problem)
{
return true;
}
}
要使用此类,您应该在每个应用程序 session (每次启动应用程序时;每次建立 SSL 连接时将使用 TrustAllCertificatePolicy 实例)运行以下代码一次,并且在发出任何 Web 请求之前(最好是在应用程序启动时)。
System.Net.ServicePointManager.CertificatePolicy = new TrustAllCertificatePolicy();
此解决方案相当于对浏览器中通常出现的任何安全消息回答"is"。
更多信息here
关于c# - 如何绕过 Windows CE 中的 SSL 证书错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16811731/