网址要求某些网站提供保修信息。
出于某种原因,我需要将系统时钟快进几天以进行测试。浏览器在两个环境中的行为是一致的 - 我得到了#34;证书错误 - 继续访问此网站(不推荐)。"当我将时钟设置为当前时间时,保修信息按预期返回。
然而,两个环境中的相同代码表现不同。我正在使用
(HttpWebResponse) req.GetResponse();
一个例外失败:"基础连接已关闭:无法为SSL / TLS安全通道建立信任关系。"这是预期的,但另一个成功运行响应中的保修信息。
这两个系统之间没有特殊的设置,我只是无法弄清楚为什么代码表现不同 - 成功的。
谢谢,
答案 0 :(得分:0)
事实证明,成功的程序执行程序的其他部分如下所示,但失败的程序使用默认行为。
public class TrustAllCertificatePolicy : System.Net.ICertificatePolicy
{
public TrustAllCertificatePolicy()
{}
public bool CheckValidationResult(ServicePoint sp, X509Certificate cert,WebRequest req, int problem)
{
return true;
}
}
System.Net.ServicePointManager.CertificatePolicy = new TrustAllCertificatePolicy();