首页 > 解决方案 > SChannel 错误:请求被中止:无法创建 SSL/TLS 安全通道

问题描述

我正在尝试在以下站点访问和使用 XML:https ://www.dhs.gov/ntas/1.1/alerts.xml 。但是,我不断收到消息:“请求已中止:无法创建 SSL/TLS 安全通道。” 当我在我们的开发服务器上运行我的应用程序时。我在我们服务器的事件日志中看不到任何内容。

奇怪的是,当我从本地主机访问提要时,它工作正常。

我的应用程序正在使用 .Net 框架 4.6.2。据我了解,它应该默认支持 TLS12(除非我错了)。当直接浏览链接时,我尝试过的浏览器——Chrome、Firefox、Edge——可以成功访问并显示 XML。IE11 是例外,无法显示。

我尝试通过以下方式手动添加 TLS12 支持:

这是我正在使用的代码。如上所述,这适用于本地主机。

                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(NTASUri);
                request.UserAgent = Request.ServerVariables["HTTP_USER_AGENT"];

                WebResponse response = request.GetResponse();
                Stream dataStream = response.GetResponseStream();
                StreamReader reader = new StreamReader(dataStream);
                string responseFromServer = reader.ReadToEnd();

                XmlDocument xmlDoc = new XmlDocument();

                xmlDoc.LoadXml(responseFromServer);

                return xmlDoc.InnerXml;

有没有人有任何想法可以做些什么来让它工作?

标签: c#.netxmlhttpwebrequesttls1.2

解决方案


谢天谢地,我的系统人员最终解决了这个问题。我们现在可以在我们的服务器上使用 feed。

在注册表中,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Cryptography\Configuration\Local\SSL\00010002\ 键下列出的密码套件是有限的,并且仅是 Windows 支持的密码套件的一个子集。

删除指定一组密码套件的函数字符串值会将 Windows 客户端返回到默认行为/顺序。

更多信息:

https://docs.microsoft.com/en-us/windows-server/identity/ad-fs/operations/manage-ssl-protocols-in-ad-fs

https://www.windows-security.org/2c488aac52906551ff218fd5c2bdaddc/ssl-cipher-suite-order

希望这可以帮助其他人在这种情况下。


推荐阅读