关于SHA2和Windows的常见问题

发布时间:2017/3/14 20:31:39 打印 字号:

自从我最后一篇关于SHA2和Windows的文章,我收到了客户和合作伙伴在三个特定情况下的许多问题。这篇文章将尝试解决这些问题。

 

Windows XP / 2003注册SHA2签名的证书

如上一篇文章所述,带有KB 968730的Windows XP Service Pack 3客户端可以注册SHA2签名的证书。但是看一下版本2模板的证书模板MMC,它不是很清楚如何配置SHA2。版本3模板包括关于散列算法的选项,但Windows XP无法注册版本3模板(需要Vista或更高版本)。所以几个客户已经问如何配置XP和2003客户端注册SHA2证书。 

答案其实很简单。一旦CA在安装时配置了SHA2,则它发出的所有证书将使用相同的散列。版本3模板上的“请求哈希”设置指的是仅在生成证书签名请求(CSR)时使用的哈希。CSR仅在证书注册过程期间使用,并且CA生成新的哈希并附加到最终证书。

 

迁移到新的PKI层次结构

几个客户表示希望从旧的SHA1 PKI层次结构迁移到完全基于SHA2的新层次结构。虽然完整写出所需的内容需要几篇博文,但我只想介绍有时被忽视的几点。

  1. 请记住Windows用于构建证书链的过程。这个过程的一个非常好的写作以前发布到这个博客。话虽如此,强烈建议客户端不必依赖AIA路径构建证书链。相反,应该使用组策略或“certutil -dspublish” 提前部署新的PKI的层次结构。通过将CA证书本地放置在客户端上,管理员既可以影响客户端在遇到交叉认证时选择的路径,也可以确保AIA路径服务器的中断不会影响客户端构建链路的能力。

  2. 类似地,请确保在NTAuthCertificates对象中列出发出终端实体证书的任何新CA。添加它们的过程在这里这里详细描述

  3. 某些应用程序不支持SHA2。在对特定应用程序使用SHA2签名的证书之前,建议测试该应用程序的所有PKI依赖组件。例如,如果SHA2将用于S / MIME; 则需要验证属于两个自己的组织和外部组织(与其组织交换S / MIME消息)的每个电子邮件客户端,电子邮件服务器,中继,垃圾邮件过滤器,安全设备等,以使他们可以处理S / MIME与SHA2。由于这个原因,旧的和新的PKI层次结构可能需要操作,同时应用程序升级/迁移。

 

支持SHA2和Windows XP / 2003的说明

有一些关于上一篇博客文章关于什么方案微软正式支持,而不是。要清楚,帖子底部的表格旨在共享测试结果,而不是官方支持声明(这就是为什么表中使用“工作”而不是“支持”一词)。我们的官方支持声明包含在KB 968730

Windows XP SP3在X.509证书验证中实现并支持SHA2散列算法(SHA256,SHA384和SHA512)。证书验证中的更改旨在启用SSL / TLS身份验证的方案。如果您使用通过使用SHA2算法保护的证书,如果协议和应用程序不支持SHA2散列算法,则涉及证书验证的其他方案可能无法正常工作。例如,在运行Windows XP SP3的计算机上,S / MIME签名的电子邮件验证和Authenticode签名验证不支持SHA2哈希算法。

话虽如此,Windows XP和Server 2003的支持生命周期已经接近尾声。在撰写本文时,仅支持XP SP3和2003 SP2,并且仅在扩展支持的条款下Windows XP扩展支持将于2014年4月8 结束4/8/2014之后,客户将无法再从Microsoft获得支持,并且不会为XP / 2003发布新的安全修补程序(包括关键漏洞的修补程序)。强烈建议客户将系统迁移到Windows Vista / 2008及更高版本。 

我希望清除任何问题。