症状
请考虑以下情况:
-
在 Microsoft 最前沿威胁管理网关 (TMG) 2010 环境中,您可以启用 HTTPS 检查。
-
您设置的 HTTPSiClientProtocols常量 SE_VPS_VALUE值为160。此值是在 Microsoft 知识库中的文章 982876 中提到的。
-
您尝试访问不支持 TLS 1.0 版 HTTPS 网站。
在这种情况下,您无法访问该网站。
原因
问题是由于 TMG 2010 发送客户端提供了 TLS 的"你好"消息。但是,由于 web 服务器不支持 TLS,因此它拒绝邮件并关闭连接。在此方案中,客户端通常回到 SSL 3.0 版。但是,TMG 不回退到 SSL 3.0 版启用 HTTPS 检查。
解决方案
要解决此问题,请安装下面 Microsoft 知识库中相应的文章中介绍的软件更新:
2517957软件更新 1 汇总 4 前沿威胁管理网关 (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 产品存在的问题。