gpt4 book ai didi

c# - .Net 无法创建 SSL/TLS 安全通道

转载 作者:太空宇宙 更新时间:2023-11-03 14:35:26 30 4
gpt4 key购买 nike

我正在从 .net 应用程序向第三方 Web 服务发布 xml,但收到“无法创建 SSL/TLS 安全通道”错误。当我使用 soapUI 发出请求时,它工作正常并且我得到了响应。但似乎无法从我的 .net 控制台应用程序中获取它。

我已尝试将安全性设置为 tls1 和 tls12,但仍然没有成功。证书安装在我发出这些请求的服务器上。

有没有人设法解决了这个问题?

这是我的代码示例

 System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://thirdPartyURL/cgi-bin/XmlProc");
byte[] bytes;
bytes = System.Text.Encoding.ASCII.GetBytes("myXML");
request.ContentType = "text/xml; encoding='utf-8'";
request.ContentLength = bytes.Length;
request.Method = "POST";
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
Stream requestStream = request.GetRequestStream();
requestStream.Write(bytes, 0, bytes.Length);
requestStream.Close();
HttpWebResponse response;
response = (HttpWebResponse)request.GetResponse();

最佳答案

通过执行以下操作修复此问题:

  1. 将 .Net Framework 更改为 4.5
  2. 在“第三方根授权”商店安装证书
  3. 在我的应用中发出请求之前添加了这行代码

    System.Net.ServicePointManager.SecurityProtocol = 安全协议(protocol)类型.Tls11 |安全协议(protocol)类型.Tls12;

  4. 在 windows server 2012 而不是 windows server 2008 上运行应用程序。这可能是 windows server 2008 不支持 TLS v1.2 的情况

关于c# - .Net 无法创建 SSL/TLS 安全通道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48419583/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com