注释
从 Windows 10 版本 1607 开始,Windows 不会加载开发人员门户未签名的任何新的内核模式驱动程序。 若要对驱动程序进行签名,请首先注册 Windows 硬件开发人员中心程序。 请注意,建立仪表板帐户需要 EV 代码签名证书 。
可通过多种不同的方式将驱动程序提交到门户。 对于生产驱动程序,应提交 HLK/HCK 测试日志,如下所示。 若要在仅限 Windows 10 客户端系统上进行测试,可以提交驱动程序进行 证明签名,这不需要 HLK 测试。 或者,您可以按照 创建新硬件提交 页面上的说明,将您的驱动程序提交进行测试签名。
例外
如果存在以下任一情况,仍允许交叉签名的驱动程序:
- 电脑已从早期版本的 Windows 升级到 Windows 10 版本 1607。
- 安全启动在 BIOS 中关闭。
- 驱动程序已使用 2015 年 7 月 29 日之前颁发的最终实体证书进行签名,该证书链接到受支持的跨签名 CA。
为了防止系统无法正确启动,不会阻止启动驱动程序,但程序兼容性助手将删除它们。
为客户端版本的 Windows 对驱动程序进行签名
若要为 Windows 10 签名驱动程序,请执行以下步骤:
- 对于要进行认证的每个 Windows 10 版本,请下载适用于该版本的 Windows HLK(硬件实验室工具包),并对该版本的客户端运行完整的认证测试。 每个版本都会有一个日志。
- 如果有多个日志,请使用最新的 HLK 将它们合并到单个日志中。
- 将驱动程序和合并的 HLK 测试结果提交到 Windows 硬件开发人员中心仪表板门户。
有关特定于版本的详细信息,请查看要面向的 Windows 版本的 WHCP (Windows 硬件兼容性计划)策略 。
若要为 Windows 7、Windows 8 或 Windows 8.1 签名驱动程序,请使用相应的 HCK(硬件认证工具包)。 有关详细信息,请参阅 Windows 硬件认证工具包用户指南。
为早期版本的 Windows 签署驱动程序
在 Windows 10 版本 1607 之前,以下类型的驱动程序需要与 Microsoft 的跨证书一起使用的 Authenticode 证书进行交叉签名:
- 内核模式设备驱动程序
- 用户模式设备驱动程序
- 流式传输受保护内容的驱动程序。 这包括使用受保护的用户模式音频(PUMA)和受保护的音频路径(PAP)的音频驱动程序,以及处理受保护视频路径输出保护管理(PVP-OPM)命令的视频设备驱动程序。 有关详细信息,请参阅 受保护的媒体组件的代码签名。
按版本排序的签名要求
下表显示了客户端作系统版本的签名策略。
请注意,安全启动不适用于 Windows Vista 和 Windows 7。
| 适用于: | Windows Vista、Windows 7;关闭安全启动的 Windows 8+ | Windows 8、Windows 8.1、Windows 10 版本 1507、1511 启用安全启动 | Windows 10 版本 1607、1703、1709 启用了安全启动 | 具有安全启动的 Windows 10 版本 1803+ |
|---|---|---|---|---|
| 架构: | 仅 64 位,32 位无需签名 | 64 位、32 位 | 64 位、32 位 | 64 位、32 位 |
| 需要签名: | 嵌入文件或目录文件 | 嵌入式文件或目录文件 | 嵌入文件或索引文件 | 嵌入的文件或目录文件 |
| 签名算法: | SHA2 | SHA2 | SHA2 | SHA2 |
| 证书: | 代码完整性信任的标准根 | 代码完整性信任的标准根 | Microsoft根授权机构 2010,Microsoft根证书颁发机构,Microsoft根授权机构 | Microsoft根授权机构 2010,Microsoft根证书颁发机构,Microsoft根授权机构 |
除了驱动程序代码签名之外,还需要满足安装驱动程序的 PnP 设备安装签名要求。 有关详细信息,请参阅 即插即用(PnP)设备安装签名要求。
有关签署 ELAM 驱动程序的信息,请参阅 早期启动反恶意软件。