簡體   English   中英

TLS 1.2 - 警報級別 - 致命 - 描述協議版本

[英]TLS 1.2 - Alert Level - Fatal - Description Protocol Version

我正在嘗試連接到 web 服務,該服務在 TLS 1.2 版上使用雙向身份驗證。 SSL 握手失敗,當我在wireshark 上嗅探數據包時出現以下握手錯誤。 (我的客戶端通過發送“RST,ACK”來終止握手):

在此處輸入圖像描述

在此處輸入圖像描述

我還在 windows 事件查看器上收到以下 SCHANNEL 錯誤日志:

已生成致命警報並將其發送到遠程端點。 這可能會導致連接終止。 TLS 協議定義的致命警報代碼為 10。

目標名稱:

TLS 警報注冊表位於http://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-6

這是什么意思? 我該怎么辦? 這是我的 c# 代碼:

var cert = new X509Certificate2(PfxBytes);

using (var handler = new HttpClientHandler())
{
    handler.ClientCertificateOptions = ClientCertificateOption.Manual;
    handler.ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => true;
    handler.ClientCertificates.Add(cert);
    handler.SslProtocols = SslProtocols.Tls12;

    using (var client = new HttpClient(handler, false))
    {
    var postData = new StringContent("", UnicodeEncoding.UTF8, "application/json");
    var response = await client.PostAsync("<URL>", postData);

    string responseString = await response.Content.ReadAsStringAsync();
    Console.WriteLine(responseString);
    }
}

令人驚訝的是,這在具有相同證書的 postman 上運行良好。 所以我很確定證書沒有問題。 無法弄清楚我的 c# 代碼出了什么問題。

請幫忙。

我的理解是 TLS 協議版本不匹配。 客戶端似乎向服務器建議了不受支持的 TLS 版本。 確保服務器和客戶端可以使用相同版本的 TLS 協議。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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