本文介绍安全断言标记语言 (SAML) 在 R2 中包含多个 X509Data 子句Windows Server 2012的问题。 可以使用修补程序来解决此问题。 此修补程序具有先决条件

症状

出现此问题时,AD FS (Active Directory 联合身份验证服务) 引发如下所示的错误消息:


异常详细信息
:Microsoft.IdentityServer.Protocols.Saml.SamlProtocolException:MSIS1022:无法处理来自""的 SAML 响应。
内部异常:"元素"是无效的 XmlNodeType。 第 1 行,位置 1。
at Microsoft.IdentityServer.Service.Tokens.SamlMessageSecurityTokenHandler.ReadToken (XmlReader reader) at
Microsoft.IdentityModel.Tokens.SecurityTokenHandlerCollection.ReadToken (XmlReader reader) at
Microsoft.IdentityModel.Tokens.SecurityTokenElement.ReadSecurityToken (XmlElement securityTokenXml, SecurityTokenHandlerCollection securityTokenHandlers)
Microsoft.IdentityModel.Tokens.SecurityTokenElement.GetSecurityToken ()
at Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.GetSecurityTokenFromSignInResponse (ProtocolContext 上下文)
at Microsoft.IdentityServer.Web.PassiveProtocolListener.ProcessProtocolRequest (ProtocolContext protocolContext, PassiveProtocolHandler protocolHandler)
位于 Microsoft.IdentityServer.Web.PassiveProtocolListener.OnGetContext (WrappedHttpListenerContext 上下文)

原因

发生此问题的原因是 SAML 断言中的 ds:X509Data 元素包含多个子元素。

修补程序信息

Microsoft 提供了受支持的修补程序。 但是,此修补程序旨在仅更正本文中所述的问题。 此修补程序仅应用于遇到此特定问题的系统。

如果修补程序可供下载,此知识库文章顶部有一个"修补程序下载可用"部分。 如果未显示此部分,请向 Microsoft 客户服务和支持部门提交请求以获取修补程序。

注意:如果发生其他问题或需要任何故障排除,可能需要创建单独的服务请求。 通常的支持费用将应用于其他支持问题和不符合此特定修补程序条件的问题。 有关 Microsoft 客户服务和支持电话号码的完整列表或创建单独的服务请求,请访问以下 Microsoft 网站:

http://support.microsoft.com/contactus/?ws=support请注意,"修补程序下载可用"窗体显示修补程序可用的语言。 如果未看到你的语言,这是因为修补程序不适用于该语言。

先决条件

若要应用此修补程序,必须在 Windows Server 2012 R2 中安装 Windows RT 8.1、Windows 8.1 和 Windows Server 2012 R2 (2919355) 2014 年 4 月更新汇总。

注册表信息

若要在此包中使用此修补程序,不需要对注册表做出任何更改。

重启要求

应用此修补程序后,可能需要重新启动计算机。

修补程序替换信息

此修补程序不能替换以前发布的修补程序。

此修补程序的全球版本将安装具有下表所列属性的文件。 这些文件的日期和时间使用协调世界时 (UTC) 列出。 这些文件在本地计算机上显示的日期和时间是本地时间再加上当前夏令时 (DST) 偏差。 此外,如果对这些文件执行某些操作,日期和时间可能会更改。

Windows Server 2012 R2 文件信息和说明

重要的 Windows 8.1 修补程序和 Windows Server 2012 R2 修补程序都包含在同一包中。 不过,“修补程序请求”页在这两个操作系统下均列出了修补程序。 若要请求适用于一个或两个操作系统的修补程序包,请选择页面上"Windows 8.1/Windows Server 2012 R2"下列出的修补程序。 请务必参阅文章中的“适用于”部分,确定每个修补程序实际适用的操作系统。

  • 可通过检查文件版本号来识别适用于特定产品、里程碑 (RTM、SPn) 和服务分支 (LDR、GDR) 的文件,如下表所示:

    版本

    产品

    里程碑

    服务分支

    6.3.960 0.17 xxx

    Windows Server 2012 R2

    RTM

    GDR

  • 针对每个环境 (.manifest) 的 MANIFEST 文件和 (.) 文件分别列在"其他文件信息"部分中

    。 MUM 文件、MANIFEST 文件以及关联的安全目录 (.cat) 文件对于维护更新组件的状态非常重要。 未列出属性的安全目录文件使用 Microsoft 数字签名进行签名。

对于所有受支持的基于 x64 版本的 Windows Server 2012 R2

文件名

文件版本

文件大小

日期

时间

平台

Microsoft.identityserver.identitymodel.dll

6.3.9600.17664

1,127,424

2015 年 1 月 21 日

05:50

x86

备用文本

其他文件信息

有关 R2 Windows Server 2012的其他文件 备用文本

所有受支持的基于 x64 版本的 Windows Server 2012 R2 的其他文件

文件属性

文件名

Amd64_84313360c9c1a0ded24613baac175ac3_31bf3856ad364e35_6.3.9600.17664_none_58cca5c60bebb854.manifest

文件版本

不适用

文件大小

711

日期 (UTC)

2015 年 1 月 21 日

时间 (UTC)

15:58

平台

不适用

文件名

Msil_microsoft.identityserver.identitymodel_31bf3856ad364e35_6.3.9600.17664_none_6205a522de8c8bc8.manifest

文件版本

不适用

文件大小

3,355

日期 (UTC)

2015 年 1 月 21 日

时间 (UTC)

06:01

平台

不适用

备用文本


状态

Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。

参考

请参阅 Microsoft 用于 描述软件更新的术语。

需要更多帮助?

扩展你的技能
了解培训
抢先获得新功能
加入 Microsoft 内部人员

此信息是否有帮助?

你对翻译质量的满意程度如何?
哪些因素影响了你的体验?

谢谢您的反馈意见!

×