[英]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.