症状
请考虑以下情形:
-
您正在运行 Windows 8 或 Windows Server 2012 的计算机上使用安全套接字层/传输层安全 (SSL/TLS) 客户端证书身份验证。
-
看似无关的 SSL/TLS 客户端证书身份验证的操作执行。但是,该操作会导致要超过 16 千字节 (KB) 的受信任的根存储区。例如,执行以下操作之一︰
-
在远程会话中,未经身份验证的用户使用客户端证书是否链接到小说受信任根探测 SSL 端点服务器。然后,加密应用程序编程接口 (CAPI) 将自动安装新颖的受信任的根。
-
用户登录到计算机并浏览受新颖的受信任根的 SSL/TLS 网站。
-
CAPI 自动更新现有安装的根。这种现象导致增加的根目录或枚举顺序发生更改的大小。
-
在证书的枚举顺序代码发生更改 (例如,安装的修补程序的更改的证书存储区的代码或更改表排序)。
-
用户切换使用证书。
-
管理员将新的证书安装到受信任的根存储区。
-
在此方案中,客户端证书身份验证不再工作。
注意:无论SendTrustedIssuerList注册表项的值时出现此问题。换句话说,您不能通过设置SendTrustedIssuerList注册表项的值来解决此问题。将SendTrustedIssuerList注册表项位于以下注册表子项下︰
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL
原因
发生此问题是因为在服务器端错误地截断的受信任的根证书颁发机构列表。默认情况下,服务器不发送列表到客户端的客户端证书验证过程。因此,截断不是必需的。
解决方案
此修复程序可以在Microsoft 更新目录。
修补程序信息
可以从 Microsoft 获得受支持的修复程序。然而,此修补程序仅用于解决本文中描述的问题。仅对出现这一特定问题的系统应用此修补程序。
如果此修复程序可供下载,则在此知识库文章顶部"提供修补程序下载"部分。如果未显示此部分,将申请提交到 Microsoft 客户服务和支持,以获取此修复程序。
注意:如果出现其他问题或需要任何故障诊断时,您可能需要创建单独的服务请求。对于不符合此特定的修补程序的其他支持问题和事项将照常收取费用。有关 Microsoft 客户服务和支持电话号码或创建单独的服务请求的完整列表,请访问下面的 Microsoft 网站︰
http://support.microsoft.com/contactus/?ws=support注意:"修补程序下载可用"窗体显示获取此修复程序的语言。如果看不到您的语言,则修补程序没有那种语言的版本。
系统必备组件
若要应用此修补程序,您必须运行 Windows 8 或 Windows Server 2012。
注册表信息
若要使用此程序包中的修复程序,您不必对注册表进行任何更改。
重启要求
应用此修补程序后,必须重新启动计算机。
修补程序替换信息
此修补程序不替代以前发布的修补程序。
此修复程序的全球版本将安装具有下表所列属性的文件。这些文件的日期和时间以协调世界时 (UTC) 列出。您的本地计算机上这些文件的日期和时间以您的本地时间加上当前夏令时 (DST) 偏差显示。此外,当您对文件执行某些操作时,日期和时间可能会更改。
Windows 8 和 Windows Server 2012 文件信息说明重要:Windows 8 的修补程序和 Windows Server 2012 修补程序包含在同一个包。但是,只有"Windows 8"是修补程序请求页上列出的。要请求适用于一个或两个操作系统修补程序包,请选择下"Windows 8"页列出的修复程序。始终参考"适用于"一节文章,以确定每个修补程序适用于实际的操作系统。
-
通过检查下表中显示的文件版本号,可以识别应用于特定产品、 里程碑 (RTM、 SPn) 和服务分支 (LDR、 GDR) 的文件:
版本
产品
里程碑
服务分支
6.2.920 0.20 xxx
Windows 8 和 Windows Server 2012
RTM
LDR
-
清单文件 (.manifest) 和菊花安装的文件 (.mum) 为每个环境则是"附加的文件的 Windows 8 和 Windows Server 2012 信息"部分中单独列出。MUM 和 MANIFEST 文件以及关联的安全目录 (.cat) 文件对维护更新组件的状态极其重要。对其属性没有列出的安全目录文件已签署 Microsoft 数字签名。
对于所有受支持的基于 x86 的 Windows 8 的版本
文件属性 |
值 |
---|---|
文件名称 |
Schannel.dll |
文件版本 |
6.2.9200.20810 |
文件大小 |
325,632 |
日期(UTC) |
29-Aug-2013 |
时间 (UTC) |
04:11 |
平台 |
x86 |
对于所有受支持的基于 x64 版本的 Windows 8 以及 Windows Server 2012
文件属性 |
值 |
---|---|
文件名称 |
Schannel.dll |
文件版本 |
6.2.9200.20810 |
文件大小 |
416,256 |
日期(UTC) |
29-Aug-2013 |
时间 (UTC) |
05:25 |
平台 |
x64 |
文件名称 |
Schannel.dll |
文件版本 |
6.2.9200.20810 |
文件大小 |
325,632 |
日期(UTC) |
29-Aug-2013 |
时间 (UTC) |
04:11 |
平台 |
x86 |
状态
Microsoft 已经确认这是“适用于”一节中列出的 Microsoft 产品中的问题。
详细信息
通过网络传送的 TLS 数据包的最大大小为 16 KB。在本文中描述的问题,服务器生成的可接受的证书颁发机构,可分辨名称的列表,然后将该列表发送到客户端。如果可接受证书的数目很大 (例如,300 多个证书),TLS 数据包的大小可能会超过 16 KB 的限制。因此,服务器向客户端发送列表截断为 16 KB 的列表。
有关软件更新术语的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
用于描述 Microsoft 软件更新的标准术语的824684说明
Windows 8 和 Windows Server 2012 的附加文件信息
对于所有其他文件支持的基于 x86 的 Windows 8 的版本
文件属性 |
值 |
---|---|
文件名称 |
X86_microsoft-windows-security-schannel_31bf3856ad364e35_6.2.9200.20810_none_1f92a99e3f9206f5.manifest |
文件版本 |
不适用 |
文件大小 |
13,286 |
日期(UTC) |
29-Aug-2013 |
时间 (UTC) |
05:00 |
平台 |
不适用 |
对于所有支持基于 x64 版本的 Windows 8 以及 Windows Server 2012 的其他文件
文件属性 |
值 |
---|---|
文件名称 |
Amd64_microsoft-windows-security-schannel_31bf3856ad364e35_6.2.9200.20810_none_7bb14521f7ef782b.manifest |
文件版本 |
不适用 |
文件大小 |
13,290 |
日期(UTC) |
29-Aug-2013 |
时间 (UTC) |
06:43 |
平台 |
不适用 |
文件名称 |
Wow64_microsoft-windows-security-schannel_31bf3856ad364e35_6.2.9200.20810_none_8605ef742c503a26.manifest |
文件版本 |
不适用 |
文件大小 |
7,312 |
日期(UTC) |
29-Aug-2013 |
时间 (UTC) |
04:51 |
平台 |
不适用 |