簡體   English   中英

TLS 1.2 如何調試/重現

[英]TLS 1.2 how to debug/reproduce

我有一個用 c# 編寫的 excel 插件,它連接到作為 Azure 應用服務托管的網站,具有以下設置Azure 應用服務 TLS 設置

該插件嘗試使用以下代碼從 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM