备注
从 Windows 10 版本1607开始,Windows 将不会加载开发人员门户未签名的任何新的内核模式驱动程序。 若要对驱动程序进行签名,请首先注册 Windows 硬件开发人员中心计划。 请注意,需要使用EV 代码签名证书来建立仪表板帐户。
可以通过多种不同的方式将驱动程序提交到门户。 对于生产驱动程序,应按如下所述提交 HLK/HCK 测试日志。 对于仅限 Windows 10 客户端的系统进行测试,你可以提交用于证明签名的驱动程序,这不需要进行 HLK 测试。 或者,你可以提交你的驱动程序以进行测试签名,如创建新的硬件提交页中所述。
例外的情况
如果满足以下任一条件,则仍允许交叉签名的驱动程序:
· 计算机已从 Windows 的早期版本升级到版本1607。
· 安全启动在 BIOS 中处于关闭状态。
· 驱动程序已使用在2015年7月29日之前颁发的最终实体证书进行签名,该证书链接到受支持的交叉签名 CA。
为了防止系统无法正常启动,启动驱动程序将不会被阻止,但会被程序兼容性助手删除。
为 Windows 客户端版本的驱动签名
若要签署适用于 Windows 10 的驱动程序,请执行以下步骤:
1. 对于要在其上验证的每个版本的 Windows 10,下载适用于该版本的 Windows HLK (硬件实验室包) ,并针对该版本的客户端运行完整的证书传递。 每个版本都有一个日志。
2. 如果有多个日志,请使用最新的 HLK 将它们合并到单个日志中。
3. 将驱动程序和合并的 HLK 测试结果提交给Windows 硬件开发人员中心仪表板门户。
若要对 Windows 7、Windows 8 或 Windows 8.1 的驱动程序进行签名,请使用相应的 HCK (硬件认证工具包) 。 有关详细信息,请参阅Windows 硬件认证包用户指南。
为 Windows 早期版本的驱动程序签名
在 Windows 10 1607 版之前,以下类型的驱动程序需要与 Microsoft 的交叉证书结合使用的验证码证书来进行交叉签名:
· 内核模式设备驱动程序
· 用户模式设备驱动程序
· 流式处理受保护内容的驱动程序。 这包括使用受保护的用户模式音频 (PUMA) 的音频驱动程序和用于处理受保护视频路径-输出保护管理的视频设备驱动程序) (用于处理受保护视频路径-输出保护管理 (命令。 有关详细信息,请参阅受保护媒体组件的代码签名。
按版本的签名要求
下表显示了客户端操作系统版本的签名策略。
适用于 | 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 设备安装签名要求。
有关对 ELAM 驱动程序签名,必须通过硬件仪表盘签名(WHQL)才能正常运行