簡體   English   中英

在舊版Windows系統上使用TLS1.2

[英]Using TLS1.2 on older Windows system

我有一個用.Net Framework 2.0編寫的Windows程序,可以與專有服務器應用程序通信。 該服務器最近已更新為使用TLS1.2進行安全通信,而我的客戶端程序無法再與其通信。

一次Google搜索顯示了一些來源,這些信息表明TLS1.2僅受Window 7,Windows 2008 R2和更高版本的系統支持。 這些消息來源是在談論服務器,而不是客戶端,但是除非我在Win7或更高版本上運行客戶端,否則聽起來還是很不走運-底層schannel.dll根本不支持TLS1.2協議。

所以我的問題是:

在較舊的Windows系統上運行時,是否可以讓我的程序使用TLS1.2進行通信?

我懷疑您是否可以使用當前應用程序,而不在舊版本的Windows上提供TLS1.2(或TLS1.1)。 .Net Framework使用操作系統的基礎schannel實現,並且沒有對該庫進行更新,並且對於支持TLS1.1或TLS1.2的Vista或更低版本,可能永遠不會更新。

您可能會嘗試使用不受限制schannel約束的其他SSL庫,例如OpenSSL或NSS(由Firefox和Chrome使用)。 http://sourceforge.net/projects/openssl-net/上似乎有一個適用於.NET的OpenSSL接口,但這僅聲稱支持OpenSSL 1.0.0d,因此尚不支持TLS1.2(已引入在OpenSSL 1.0.1中)。 因此,也許無法通過.Net做到這一點。

可以做的另一件事是將服務器設置為不僅支持TLS1.2,而且支持TLS1.0。 在大多數情況下,只要您使用正確的密碼,這仍然可以提供足夠的安全性(大多數服務器僅使用TLS1.0)。 通常,這是服務器上支持多個TLS版本的簡單設置,因此,如果可能,它將使用TLS1.2,但是如果客戶端不支持TLS1.2,則降級到TLS1.0。

暫無
暫無

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

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