C# 同一url不同的环境-一个成功,另一个失败,出现SSL错误

C# 同一url不同的环境-一个成功,另一个失败,出现SSL错误,c#,.net,ssl,C#,.net,Ssl,url从特定网站请求保修信息 出于某种原因,为了测试,我不得不将系统时钟快进几天。浏览器在两种环境中的行为是一致的-我得到了“证书错误-继续访问此网站(不推荐)。”当我将时钟设置回当前时间时,保修信息按预期返回 但是,两个环境中的相同代码表现不同。我正在使用 (HttpWebResponse) req.GetResponse(); 其中一个异常失败:“基础连接已关闭:无法为SSL/TLS安全通道建立信任关系。”这与预期的一样,但另一个在响应中包含保修信息的情况下成功运行 这两个系统之间没有特殊

url从特定网站请求保修信息

出于某种原因,为了测试,我不得不将系统时钟快进几天。浏览器在两种环境中的行为是一致的-我得到了“证书错误-继续访问此网站(不推荐)。”当我将时钟设置回当前时间时,保修信息按预期返回

但是,两个环境中的相同代码表现不同。我正在使用

(HttpWebResponse) req.GetResponse();
其中一个异常失败:“基础连接已关闭:无法为SSL/TLS安全通道建立信任关系。”这与预期的一样,但另一个在响应中包含保修信息的情况下成功运行

这两个系统之间没有特殊的设置,我就是不明白为什么代码的行为会不同——成功的一个


谢谢,

结果表明,成功的程序执行了下面的代码,但失败的程序使用默认行为

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

正在使用哪些操作系统?我敢打赌,失败的环境不信任证书本身或链中的CA。检查两种环境中的certmgr。