[英]TLS 1.2 how to debug/reproduce
我有一个用 c# 编写的 excel 插件,它连接到作为 Azure 应用服务托管的网站,具有以下设置
该插件尝试使用以下代码从 webapp 下载一些内容
public static string HttpPost(string URI, string Parameters)
{
System.Net.WebRequest req = System.Net.WebRequest.Create(URI);
req.Proxy = GetProxyForConnection();
//Add these, as we're doing a POST
req.ContentType = "application/json";
req.Method = "POST";
//We need to count how many bytes we're sending. Post'ed Faked Forms should be name=value&
byte[] bytes = System.Text.Encoding.ASCII.GetBytes(Parameters);
req.ContentLength = bytes.Length;
System.IO.Stream os = req.GetRequestStream();
os.Write(bytes, 0, bytes.Length); //Push it out there
os.Close();
System.Net.WebResponse resp = req.GetResponse();
if (resp == null) return null;
System.IO.StreamReader sr = new System.IO.StreamReader(resp.GetResponseStream());
return sr.ReadToEnd().Trim();
}
这在许多计算机上都能完美运行,但我们有一个专门使用 TLS 1.2 连接的客户端,这就是他们写的
我们的 IT 安全团队一直在从我们的环境中删除 TLS 1.1 - Microsoft 的建议。
我的问题是如何重现这一点,如何使我们的开发环境 TLS 1.2,以及有关如何解决该问题的任何提示?
谢谢
PS插件是用.net 4.0编写的
.NET 4.0 不支持 TLS 1.1 或 TLS 1.2,这就是您的代码不起作用的原因。
您的应用程序应该以 .NET Framework 4.7 为目标,如果是 4.8 则更好。
正如@jdweng 所说,SSL、TLS 1.0 和 TLS 1.1 已过时并已尽快禁用。
要模拟非常简单的问题,请使用IISCrypto并取消选中协议、服务器和客户端,请参阅:
对IISCrypto所做的更改,更改了注册表编辑器,如果您想了解更多信息,请查看传输层安全性 (TLS) 注册表设置
问候
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.