获取代码签名证书

在建立硬件开发人员中心硬件仪表板帐户之前,你需要获取代码签名证书以保护数字信息的安全。 此证书是用于建立你的公司对你所提交代码的所有权的接受标准。 它让你可以用数字形式签署 PE 二进制文件,例如 .exe、.cab、.dll、.ocx、.msi、.xpi 和 .xap 文件。

步骤 1:确定所需的代码签名证书类型

  • Microsoft 接受来自为内核模式代码签名注册和授权(作为 Microsoft 受信任的根证书计划的一部分)的合作伙伴的标准代码签名和扩展验证 (EV) 代码签名证书。 有关详细信息,请参阅 http://aka.ms/rootcert。 如果已具有来自某个颁发机构的批准标准或 EV 证书,则可以使用它建立硬件开发人员中心硬件仪表板帐户。 如果没有证书,则需要购买一个新证书。

  • 下表提供了每个仪表板服务的证书要求的详细信息。

仪表板服务/权限 代码签名证书要求

Bug 管理

标准或 EV

DDC – 驱动程序分发中心

标准或 EV

设备元数据

标准或 EV

报告数据

标准或 EV

提交

标准或 EV

WRD – Windows 远程调试

标准或 EV

LSA

EV

UEFI

EV

Windows 参考设计

标准或 EV

注意 提交后,将在今年晚些时候强制执行仅限 EV 的要求。

硬件开发人员中心硬件仪表板的代码签名证书

当前有两种类型的代码签名证书可用:

标准代码签名

  • 提供标准级别的身份验证

  • 需要较短的处理时间以及较低的成本

  • 可用于除 LSA 和 UEFI 文件签名服务之外的所有硬件开发人员中心硬件仪表板服务。

  • 在 Windows 10 桌面版(家庭版、专业版、企业版和教育版)中,标准代码签名无法用于内核模式驱动程序。 有关这些更改的详细信息,请参阅代码签名常见问题

扩展验证 (EV) 代码签名

  • 提供最高级别的身份验证

  • 由于扩展了验证过程,因此需要较长的处理时间以及较高的成本

  • 可用于所有硬件开发人员中心硬件仪表板服务,而且是 LSA 和 UEFI 文件签名服务所必需的。

  • 在 Windows 10 桌面版中,所有内核模式驱动程序都必须由硬件开发人员中心仪表板签名,并且硬件开发人员中心仪表板需要 EV 证书。 有关这些更改的详细信息,请参阅代码签名常见问题

步骤 2:购买新的代码签名证书

如果没有批准的标准或 EV 代码签名证书,可以从下列某个证书颁发机构购买证书。

标准代码签名证书

扩展验证代码签名证书(对于 UEFI、内核模式驱动程序和 LSA 认证是必需的)

步骤 3:检索代码签名证书

证书颁发机构验证你的联系信息并批准你的证书购买后,按照他们的指示来检索证书。

注意
你必须使用相同的计算机和浏览器来检索你的证书。

后续步骤

  • 如果你要设置新的硬件开发人员中心硬件仪表板帐户,请按照注册硬件计划中的步骤进行操作。

  • 如果你已设置硬件开发人员中心硬件仪表板帐户且需要续订证书,请按照更新代码签名证书中的步骤进行操作。

代码签名常见问题

本部分提供有关 Windows 10 代码签名的常见问题的答案。 其他代码签名信息在 Windows 硬件认证博客上提供。

HLK 测试和仪表板签名的驱动程序

  • 通过 HLK 测试并经仪表板签名的驱动程序可凭借 Windows 10(包括 Windows Server 版本)在 Windows Vista 上运行。 推荐将此方法用于驱动程序签名,因为它允许将一套过程用于所有操作系统版本。 此外,HLK 测试的驱动程序显示制造商严格测试其硬件,以满足 Microsoft 对于可靠性、安全性、电源效率、可维护性和性能的要求,以便提供出色的 Windows 体验。 这包括兼容行业标准和遵守特定于技术的功能的 Microsoft 规范,有助于确保正确安装、部署、连接和互操作性。 有关 HLK 的详细信息,请参阅 Windows 硬件兼容性计划

Windows 10 桌面版证明签名

  • 使用证明签名的仪表板签名驱动程序仅在 Windows 桌面版和更高版本的 Windows 10 中运行。
  • 证明签名的驱动程序仅适用于 Windows 10 桌面版;它不适用于其他版本的 Windows,例如 Windows Server 2016、Windows 8.1 或 Windows 7。
  • 证明签名支持 Windows 10 桌面版内核模式和用户模式驱动程序。 尽管用户模式驱动程序无需由适用于 Windows 10 的 Microsoft 进行签名,但相同的证明过程可以同时用于用户和内核模式驱动程序。

Windows 10 早期证书过渡签名

  • 不推荐将使用 2015 年 7 月 29 日之后颁发的任何证书进行签名并且带有时间戳的驱动程序用于 Windows 10。
  • 使用在 2015 年 7 月 29 日之后到期的任何证书进行签名并且没有时间戳的驱动程序将在 Windows 10 上运行,直到该证书到期。

交叉签名和 SHA-256 证书

交叉签名介绍了使用 Microsoft 信任的证书颁发机构 (CA) 颁发的证书对某个驱动程序进行签名的过程。 有关详细信息,请参阅交叉证书概述

  • Windows 8 和更高版本均支持 SHA-256。
  • 修补后的 Windows 7 支持 SHA-256。 如果需要支持运行 Windows 7 的未修补的设备,则需要使用 SHA-1 证书进行交叉签名,或提交到仪表板以进行签名。 否则,可以使用 SHA-1 或 SHA-2 证书进行交叉签名,或创建 HLK/HCK 提交以进行签名。
  • 因为 Windows Vista 不支持 SHA-256,所以需要使用 SHA-1 证书进行交叉签名,或创建 HLK/HCK 提交以进行 Windows Vista 驱动程序签名。
  • 在 2015 年 7 月 29 日之前颁发的使用 SHA-256 证书(包括 EV 证书)进行交叉签名的驱动程序将在 Windows 8 和更高版本上运行。 它不会在 Windows Vista 或 Windows Server 2008 上运行。
  • 在 2015 年 7 月 29 日之前颁发的使用 SHA-256 证书(包括 EV 证书)进行交叉签名的驱动程序将在 Windows 7 或 Server 2008 R2 上运行,前提是已应用在今年较早时候通过 Windows 更新颁发的修补程序。 有关详细信息,请参阅适用于 Windows 7 和 Windows Server 2008 R2 的 SHA-2 哈希算法的可用性Microsoft 安全公告:适用于 Windows 7 和 Windows Server 2008 R2 的 SHA-2 代码签名支持的可用性:2015 年 3 月 10 日
  • 使用在 2015 年 7 月 29 日前颁发的 SHA-1 证书进行交叉签名的驱动程序可以在从 Windows Vista 到 Windows 10 的所有平台上运行。
  • 不推荐将使用在 2015 年 7 月 29 日后颁发的 SHA-1 或 SHA-256 证书进行交叉签名的驱动程序用于 Windows 10。
  • 有关移动到 SHA-256 证书的工作的详细信息,请参阅验证码签名和时间戳的 Windows 强制

Device Guard

  • 企业可以实现某项设备保护策略,以使用 Windows 10 企业版修改驱动程序签名要求。 Device Guard 提供企业定义的代码完整性策略,该策略可配置为要求至少一个证明签名的驱动程序。 有关 Device Guard 的详细信息,请参阅 Device Guard 认证和合规性

Windows Server

  • 仪表板不会接受证明的设备,并且会筛选用于 Windows Server 2016 的驱动程序签名提交。
  • 仪表板仅对设备进行签名,并且筛选成功通过 HLK 测试的驱动程序。
  • Windows Server 2016 仅加载成功通过 HLK 测试的仪表板签名的驱动程序。

EV 证书

  • 截止到 2015 年 10 月 31 日,你的 Sysdev 仪表板帐户必须关联至少一个 EV 证书,才能提交供证明签名的二进制文件,或提交供 HLK 认证的二进制文件。
  • 在 2016 年 5 月 1 日前,可以使用 EV 证书或现有标准证书进行签名。 在 2016 年 5 月 1 日后,需要使用 EV 证书才能对提交的 cab 文件进行签名。
  • 无需对提交的二进制文件本身进行签名。 仅需要使用 EV 证书对提交的 cab 文件进行签名。

操作系统支持摘要

此表总结了 Windows 的驱动程序签名要求。

已签名的证明仪表板 已通过 HLK 测试的已签名仪表板 使用在 2015 年 7 月 29 日前颁发的 SHA-1 证书进行交叉签名
Windows Vista
Windows 7
Windows 8/8.1
Windows 10
Windows 10 - DG 已启用 *配置从属 *配置从属 *配置从属
Windows Server 2008 R2
Windows Server 2012 R2
Windows Server 2016
Windows Server 2016 – DG 已启用 *配置从属 *配置从属 *配置从属
Windows IoT 企业版
Windows IoT 企业版 - DG 已启用 *配置从属 *配置从属 *配置从属
Windows IoT 核心版(1) 是(不需要) 是(不需要) 是(交叉签名也适用于 2015 年 7 月 29 日后颁发的证书)

*配置从属 – 通过 Windows 10 企业版,组织可以使用 Device Guard 来定义自定义驱动程序签名要求。 有关 Device Guard 的详细信息,请参阅 Device Guard 认证和合规性

(1) 制造商生成装有 IoT 核心版的零售产品(即不用于开发用途)需要驱动程序签名。 有关批准的证书颁发机构 (CA) 列表,请参阅适用于内核模式代码签名的交叉证书。 请注意,如果 UEFI 安全启动已启用,则必须对驱动程序进行签名。

向 Microsoft 发送有关该主题的评论