当前位置: 首页 > 知识库问答 >
问题:

错误:C#基础连接已关闭:无法为SSL/TLS安全通道建立信任关系

元望
2023-03-14

我正试图通过SSL发出请求。该证书已安装在机器上,可通过浏览器工作。

我正在使用此请求:

System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
byte[] data = encoding.GetBytes(request.Content.OuterXml.ToString());
string password = "XXXX";
X509Certificate2 cert = new X509Certificate2("c:\\zzzz.p12", password);
string key = cert.GetPublicKeyString();
string certData = Encoding.ASCII.GetString(cert.Export(X509ContentType.Cert));

Uri uri = new Uri(request.Url);
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(uri);
myRequest.Credentials = new NetworkCredential(request.User, request.Password.ToString());
myRequest.Method = "PUT";
myRequest.ContentType = request.ContentType;
myRequest.ContentLength = data.Length;
myRequest.ClientCertificates.Add(cert);

Stream newStream = myRequest.GetRequestStream();
newStream.Write(data, 0, data.Length);
newStream.Close();

System.IO.StreamReader st = new StreamReader(((HttpWebResponse)myRequest.GetResponse()).GetResponseStream());

使用此代码,我得到以下错误:

基础连接已关闭:无法为SSL/TLS安全通道建立信任关系---

有什么问题吗?

共有3个答案

长孙景天
2023-03-14

这是客户端代码,对吗?你正在访问一个HTTPS url,不是吗?我认为问题在于服务器证书,客户端TLS堆栈无法验证该证书。当您通过浏览器连接到该URL时,它是否正常工作,或者您是否看到有关证书不匹配的警告?

郏志诚
2023-03-14

确保您的证书受到正确信任。根证书是否已添加到正确的证书存储(本地计算机上的受信任根CA)?

当(自签名)证书的(自制)根证书被添加到当前用户的受信任根CA时,我遇到了这个错误。将根证书移动到本地计算机上的根CA存储解决了我的问题。

谷永贞
2023-03-14

我解决了这个问题:

ServicePointManager.ServerCertificateValidationCallback = new        
RemoteCertificateValidationCallback
(
   delegate { return true; }
);
 类似资料:
  • 这个问题在stackoverflow上有很多版本。我已经尝试了那里提出的许多解决方案,但这些都不适合我。 我有一个VB ASP。NET应用程序在Windows Server 2008上的IIS上运行。它称为Web服务。运行Web服务的服务器具有自签名证书。我已将证书导入IIS计算机的信任存储区。我可以在IE中看到证书- 调用webservice时,会引发异常 基础连接已关闭:无法为SSL/TLS安

  • 当我尝试在https上使用Invoke WebRequest时,我遇到了一些奇怪的错误: "调用-网络请求:基础连接已关闭:无法为SSL/TLS安全通道建立信任关系。" 这是我的密码: 对我有什么建议吗??多谢了。

  • 我试图通过我的代码调用SAP Hana服务层,但我遇到了下面的错误:所以有人能帮我吗? 错误 1st:身份验证异常:根据验证过程,远程证书无效。 错误2:WebExc奇怪:底层连接已关闭:无法为SSL/TLS安全通道建立信任关系。 错误 3rd:HttpRequest异常:发送请求时出错。 关于这个应用程序的更多细节——我已经在。网 还有一件事-我的客户不打算购买该域名 问题是,当我通过邮递员测试

  • 我加载的证书对“每个人”都有完全的特权。我已经尝试了我在互联网上看到的每一个解决方案,但仍然得到错误。 下面是我创建请求的代码: 获取证书的代码(我也尝试过使用pfx): 第二个编辑:我可以让它在SoapUI中工作,但不能在。NET应用程序中工作,只需从SOAP UI中的文件系统中加载SSL证书即可。

  • System.AggregateException HResult=0x80131500 Message=出现一个或多个错误。source=mscorlib stacktrace:at system.threading.tasks.task.throwifexception(Boolean includeTaskCanceledExceptions)at system.threading.task

  • 我得到这个例外 基础连接已关闭:发送时发生意外错误。 在我的日志中,它正在随机打破我们的OEM与电子邮件营销系统的集成。(1-4小时不等) 我的网站托管在Windows Server 2008 R2与IIS 7.5.7600。 该网站拥有大量OEM组件和全面的仪表板。除了我们的一个电子邮件营销组件(我们正在使用该组件作为仪表板中的iframe解决方案)外,其他所有内容都可以与网站的所有其他元素配合