簡體   English   中英

嘗試在帶有.net 4.0的XP sp3上運行TLS1.2

[英]Trying to run TLS1.2 on XP sp3 with .net 4.0

在開始之前,我知道正確的事情是升級操作系統。 我正在嘗試解決此問題,並且您可能會想到有很多死胡同。 我發現了一些似乎可行的方法,但是不清楚為什么要專門尋找幫助。

Windows XP不支持SSL / TLS 1.1 / 1.2
來源1
來源2

.Net 4.0不支持TLS 1.2
來源3

.Net 4.5+確實支持TLS 1.2,但不能安裝在XP上
來源4 來源5

如果您使用自己的證書驗證覆蓋ServerCertificateValidationCallback,那么它將起作用。 為什么? 到底是怎么回事? 真的有效嗎? 它似乎正在通過SSL通信。 網絡操作可確保我在服務器上沒有后備SSL / TLS。

替代方案:獲取舊版TLS 1.0的自簽名證書,無法再從CA獲得此證書
使用其他支持TLS 1.2的C ++庫或類似庫,並從.NET調用它

更新1:我仍然不知道為什么ServerCertificateValidationCallback似乎起作用。 現在,我希望了解XP SP3特別支持哪些Cipher Suite。 我正在查看數據包,並以本文為指導。 如前所述,即使沒有提供或接受密碼套件,即使我找到了一個替代庫,也仍然沒有解決的辦法。

密碼套件指南

我確實嘗試了SecureBlackBox並取得了一些成功(當時是TLS1.2),但是我無法從證書頒發機構獲得它來授權證書。 https://www.eldos.com/sbb/

更新2:了解很多工作原理謝謝Ullrich先生等。 人。

更新3:此時,我正在考慮使用XP計算機上的Apache代理來執行TLS1.2 SHA256 CA驗證通信(非Windows堆棧),並使.net 4.0通信與本地(在計算機上)與該代理通信,而離開本機的任何通信均得到正確保護。

證書和證書的驗證與TLS版本無關。 您可以將同一證書用於SSL 3.0 ... TLS 1.3。 但是,僅僅因為您的證書可以與所有這些證書一起使用,並不能使您的本地TLS堆棧神奇地了解TLS 1.2協議的工作方式。

如果要Windows XP上的TLS 1.2支持,請查看Windows TLS堆棧之外的內容,即查看OpenSSL,NSS和其他庫。 看起來好像有一個庫提供了對.NET中最新的OpenSSL的支持,但是我不確定這是否仍然可以在XP上運行。 參見https://github.com/openssl-net/openssl-net

暫無
暫無

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

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