获取新证书以替换服务器上已过期的证书后,客户端无法与服务器进行身份验证

Microsoft 内部支持信息

BUG #: 43044 (WINDOWS SE)

Microsoft 内部支持信息

BUG #: 43333 (WINDOWS SE)

Microsoft 内部支持信息

BUG #: 43543 (WINDOWS SE)

Microsoft 内部支持信息

BUG #: 41329 (WINDOWS RFC)

症状

在运行 Microsoft Internet 身份验证服务(IAS)或路由和远程访问的服务器上将已过期的证书替换为新证书后,具有可扩展身份验证协议(传输层安全性(EAP-TLS)配置以验证服务器的证书的客户端无法再通过服务器身份验证。 在客户端计算机上查看事件查看器中的系统日志时,将显示以下事件:如果在运行 IAS 或路由和远程访问的服务器上启用详细日志记录(例如,通过运行 netsh ras set view * enable 命令),则会在客户端尝试进行身份验证时生成的 Rastls 文件中显示类似于以下内容的信息。 注意 如果您使用 IAS 作为您的 Radius 服务器进行身份验证,您将在 IAS 服务器上看到此行为。 如果您使用的是路由和远程访问,并且已为 Windows 身份验证(而不是 Radius 身份验证)配置路由和远程访问,您将在路由和远程访问服务器上看到此行为。

1072] 15:47:57:280: CRYPT_E_NO_REVOCATION_CHECK will not be ignored[1072] 15:47:57:280: CRYPT_E_REVOCATION_OFFLINE will not be ignored[1072] 15:47:57:280: The root cert will not be checked for revocation[1072] 15:47:57:280: The cert will be checked for revocation[1072] 15:47:57:280: [1072] 15:47:57:280: EapTlsMakeMessage(Example\client)[1072] 15:47:57:280: >> Received Response (Code: 2) packet: Id: 11, Length: 25, Type: 0, TLS blob length: 0. Flags: [1072] 15:47:57:280: EapTlsSMakeMessage[1072] 15:47:57:280: EapTlsReset[1072] 15:47:57:280: State change to Initial[1072] 15:47:57:280: GetCredentials[1072] 15:47:57:280: The name in the certificate is: server.example.com[1072] 15:47:57:312: BuildPacket[1072] 15:47:57:312: << Sending Request (Code: 1) packet: Id: 12, Length: 6, Type: 13, TLS blob length: 0. Flags: S[1072] 15:47:57:312: State change to SentStart[1072] 15:47:57:312: [1072] 15:47:57:312: EapTlsEnd(Example\client)[1072] 15:47:57:312: [1072] 15:47:57:312: EapTlsEnd(Example\client)[1072] 15:47:57:452: [1072] 15:47:57:452: EapTlsMakeMessage(Example\client)[1072] 15:47:57:452: >> Received Response (Code: 2) packet: Id: 12, Length: 80, Type: 13, TLS blob length: 70. Flags: L[1072] 15:47:57:452: EapTlsSMakeMessage[1072] 15:47:57:452: MakeReplyMessage[1072] 15:47:57:452: Reallocating input TLS blob buffer[1072] 15:47:57:452: SecurityContextFunction[1072] 15:47:57:671: State change to SentHello[1072] 15:47:57:671: BuildPacket[1072] 15:47:57:671: << Sending Request (Code: 1) packet: Id: 13, Length: 1498, Type: 13, TLS blob length: 3874. Flags: LM[1072] 15:47:57:702: [1072] 15:47:57:702: EapTlsMakeMessage(Example\client)[1072] 15:47:57:702: >> Received Response (Code: 2) packet: Id: 13, Length: 6, Type: 13, TLS blob length: 0. Flags: [1072] 15:47:57:702: EapTlsSMakeMessage[1072] 15:47:57:702: BuildPacket[1072] 15:47:57:702: << Sending Request (Code: 1) packet: Id: 14, Length: 1498, Type: 13, TLS blob length: 0. Flags: M[1072] 15:47:57:718: [1072] 15:47:57:718: EapTlsMakeMessage(Example\client)[1072] 15:47:57:718: >> Received Response (Code: 2) packet: Id: 14, Length: 6, Type: 13, TLS blob length: 0. Flags: [1072] 15:47:57:718: EapTlsSMakeMessage[1072] 15:47:57:718: BuildPacket[1072] 15:47:57:718: << Sending Request (Code: 1) packet: Id: 15, Length: 900, Type: 13, TLS blob length: 0. Flags: [1072] 15:48:12:905: [1072] 15:48:12:905: EapTlsMakeMessage(Example\client)[1072] 15:48:12:905: >> Received Response (Code: 2) packet: Id: 15, Length: 6, Type: 13, TLS blob length: 0. Flags: [1072] 15:48:12:905: EapTlsSMakeMessage[1072] 15:48:12:905: MakeReplyMessage[1072] 15:48:12:905: SecurityContextFunction[1072] 15:48:12:905: State change to SentFinished. Error: 0x80090318[1072] 15:48:12:905: Negotiation unsuccessful[1072] 15:48:12:905: BuildPacket[1072] 15:48:12:905: << Sending Failure (Code: 4) packet: Id: 15, Length: 4, Type: 0, TLS blob le 

原因

如果满足以下所有条件,则可能会发生此问题:

  • IAS 或路由和远程访问服务器是域成员,但域中未配置自动证书请求功能(自动注册)。 或者,IAS 或路由和远程访问服务器不是域成员。

  • 为 IAS 或路由和远程访问服务器手动请求和接收新证书。

  • 不要从 IAS 或路由和远程访问服务器中删除过期的证书。

如果 IAS 或路由和远程访问服务器上存在过期的证书以及新的有效证书,则客户端身份验证不会成功。 客户端计算机上的事件日志中显示的 "错误 0x80090328" 结果对应于 "过期的证书"。

解决方法

要解决此问题,请删除过期(已存档的)证书。 为此,请按照下列步骤操作:

  1. 打开 Microsoft 管理控制台(MMC)管理单元,可在其中管理 IAS 服务器上的证书存储。 如果您还没有用于查看证书存储的 MMC 管理单元,请创建一个。 为此,请执行以下操作:

    1. 单击 "开始",单击 "运行",在 "打开" 框中键入 " Mmc ",然后单击"确定"

    2. 在 " 控制台 " 菜单(Windows Server 2003 中的 " 文件 " 菜单)上,单击 " 添加/删除管理单元",然后单击 " 添加"。

    3. 在 " 可用的独立管理单元 " 列表中,依次单击 " 证书"、" 添加"、" 计算机帐户"、" 下一步",然后单击 " 完成"。注意 你还可以为用户帐户和该 MMC 管理单元的服务帐户添加 "证书" 管理单元。

    4. 单击 " 关闭",然后单击 "确定"

  2. 在 " 控制台根节点" 下,单击 " 证书(本地计算机)"。

  3. 在 " 视图 " 菜单上,单击 " 选项"。

  4. 单击以选中 "已 存档的证书 " 复选框,然后单击 "确定"

  5. 展开 " 个人",然后单击 " 证书"。

  6. 右键单击过期(已存档)数字证书,单击 " 删除",然后单击 "是" 以确认删除过期的证书。

  7. 退出 MMC 管理单元。 您无需重新启动计算机或任何服务即可完成此过程。

更多信息

Microsoft 建议您配置自动证书申请以续订您的组织中的数字证书。 有关 Windows XP 中的证书自动注册的其他信息,请访问下面的 Microsoft 网站:

需要更多帮助?

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

此信息是否有帮助?

谢谢您的反馈意见!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×