2014-11-24 21 views
0

MicrosoftGoogle都宣佈了SHA1的結束。正常檢測到用戶無法支持來自ASP.net的SHA256 SSL連接

鑑於此,我們正在向SHA256申請SSL證書。由於SHA256 is not supported before XP SP3about 17% of user use XP(至少其中一些不會使用SP3),將會有用戶無法連接到我們的https頁面。

我想要做的是讓我的網站認識到他們無法通過SSL連接,並將它們發送到支持頁面,解釋爲什麼他們無法連接並告訴他們如何糾正它。

我們的網站運行ASP.NET IIS 6上

在我看來,應該有一個web.config設置或IIS設置,將做到這一點。有誰知道任何這樣的設置? Chris Hutchinson's答案This SO Question似乎表明存在這樣的設置。

+0

一個想法是由失敗的SSL/TLS連接返回的錯誤的自定義錯誤頁面,但我似乎無法找到服務器是否返回錯誤代碼。 – 2014-12-08 18:11:46

回答

1

這只是可能的解決方法的部分答案。

考慮到Windows XP上的Internet Explorer還有另一個已知的SSL/TLS限制,它不支持服務器名稱指示(SNI),您可能可以根據服務器是否使用服務器在其最初的客戶端Hello消息中添加名稱擴展

您需要升級到IIS 8才能獲得SNI支持(並且我必須承認,我不知道如何使用不使用服務器名稱擴展名的情況下將其配置爲具有不同證書的默認站點),但是此類檢測至少從協議的角度來看應該是可行的。您仍然需要爲該後備網站提供單獨的SHA-1證書。

在這種情況下,來自XP上的IE的任何連接都將進入該備用站點(不幸的是,即使使用SP3)。

這樣的XP機器上的Firefox應該能夠處理SHA-256,因爲它的實現與XP堆棧完全分離。

Chrome可能會有問題,因爲它會使用服務器名稱擴展名,但它也依賴於XP的證書管理來驗證CA證書。我還沒有嘗試過,但我預計可能會出現問題。

這些肯定不是理想的解決方案,但您可能會發現這些妥協中的一些妥協取決於您的要求。


以上全部假設用戶對您網站的入口點使用https://

如果用戶通過http://頁面首次訪問你的網站,你能有這樣的網頁,從AJAX請求您https://現場檢查它是否能夠連接所有,並顯示如果不能錯誤消息。這當然更容易,更通用(甚至不需要IIS升級)。您可能無法確切知道爲什麼AJAX請求無法連接到您的https://站點(除了缺少SHA-256支持還有其他故障原因),但解釋性消息說這是最可能的原因之一肯定會有幫助。

+0

雖然我們想升級服務器,但是我們無法將IIS升級到其他任何東西。雖然AJAXS請求聽起來可行,但我懷疑用戶已經直接添加書籤/創建了SSL頁面的快捷方式,這意味着我將不會有機會檢查。該頁面的目的之一就是說「你可以嘗試Firefox來連接」。 – 2014-12-01 21:31:48

+0

如果IIS升級不可行,您可能可以在其之前放置另一臺服務器(例如,Apache,Nginx等,儘管我沒有查看該特定用例的必要配置)。 – Bruno 2014-12-01 21:42:41

+0

因爲我在州政府辦公室工作,我們的活動受到政策和資金的嚴格限制。我們可以購買一臺新的服務器,但我們的預算現在沒有空間支付這筆費用(我們不能購買一臺,我們必須從集中的IT租用一臺服務器,該州是一家微軟商店。) – 2014-12-02 15:03:01

相關問題