徵狀
請試想下列案例:
-
在 Microsoft Forefront 威脅管理閘道 (TMG) 2010年環境中,您可以啟用 HTTPS 檢查。
-
您可以設定 HTTPSiClientProtocols Const SE_VPS_VALUE值為160。這個值是由文件 982876 「 Microsoft 知識庫 」 中的文所述。
-
您嘗試存取不支援 TLS v1.0 的 HTTPS 網站。
在這個案例中,您無法存取網站。
原因
TMG 2010 傳送的用戶端提供 TLS 的 「 hello 」 訊息,就會發生這個問題。不過,因為 web 伺服器不支援 TLS,它會拒絕訊息並關閉連接。在這個案例中,用戶端通常會回過頭來 SSL v3.0。不過,TMG 不會不改為使用 SSL v3.0 當 HTTPS 檢查已啟用。
解決方案
若要解決這個問題,安裝軟體更新所描述下列文 「 Microsoft 知識庫 」 中的文件中:
2517957軟體更新 1 彙總套件 4 Forefront 威脅管理閘道 (TMG) 2010 Service Pack 1若要啟用此修正程式,請依照下列步驟執行:
-
啟動 [記事本]。
-
複製並貼到 「 記事本 」 的下列的指令碼:
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Copyright (c) Microsoft Corporation. All rights reserved.' THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE' RISK OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE' USER. USE AND REDISTRIBUTION OF THIS CODE, WITH OR WITHOUT MODIFICATION, IS' HEREBY PERMITTED.''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' This script disables the use of old client protocols like PCT and SSLv2''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"Const SE_VPS_NAME = "HTTPSiDontUseOldClientProtocols"Const SE_VPS_VALUE = TRUESub SetValue() ' Create the root object. Dim root ' The FPCLib.FPC root object Set root = CreateObject("FPC.Root") 'Declare the other objects that are needed. Dim array ' An FPCArray object Dim VendorSets ' An FPCVendorParametersSets collection Dim VendorSet ' An FPCVendorParametersSet object Set array = root.GetContainingArray Set VendorSets = array.VendorParametersSets On Error Resume Next Set VendorSet = VendorSets.Item( SE_VPS_GUID ) If Err.Number <> 0 Then Err.Clear ' Add the item. Set VendorSet = VendorSets.Add( SE_VPS_GUID ) CheckError WScript.Echo "New VendorSet added... " & VendorSet.Name Else WScript.Echo "Existing VendorSet found... value- " & VendorSet.Value(SE_VPS_NAME) End If if VendorSet.Value(SE_VPS_NAME) <> SE_VPS_VALUE Then Err.Clear VendorSet.Value(SE_VPS_NAME) = SE_VPS_VALUE If Err.Number <> 0 Then CheckError Else VendorSets.Save false, true CheckError If Err.Number = 0 Then WScript.Echo "Done with " & SE_VPS_NAME & ", saved!" End If End If Else WScript.Echo "Done with " & SE_VPS_NAME & ", no change!" End IfEnd SubSub CheckError() If Err.Number <> 0 Then WScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.Description Err.Clear End IfEnd SubSetValue
-
使用.vbs 副檔名,以儲存 [記事本] 檔案。當您儲存這個檔案,例如,使用下列名稱:
EnableHTTPSiDontUseOldClientProtocols.vbs
-
在命令提示字元中,執行指令碼。例如,若要執行指令碼中使用下列語法:
cscript.exe EnableHTTPSiDontUseOldClientProtocols.vbs
狀態
Microsoft 已確認本篇文章<適用於>一節所列之 Microsoft 產品確實有上述問題。