测试签名简介

在开发和测试期间,驱动程序应使用 数字签名 进行测试签名,原因如下:

  • 促进和自动安装。

    如果驱动程序未签名,即插即用 (PnP) Windows Vista 及更高版本的 Windows 的驱动程序安装策略要求系统管理员手动授权安装未签名的驱动程序,从而为安装过程添加额外的步骤。 此额外步骤可能会对开发人员和测试人员的工作效率产生负面影响。 无法重写此要求。

  • 能够在 64 位版本的 Windows Vista 和更高版本的 Windows 上加载内核模式驱动程序。

    默认情况下,64 位版本的 Windows Vista 和更高版本的 Windows 的 内核模式代码签名策略 要求对内核模式驱动程序进行签名才能加载驱动程序。 可以暂时重写此要求,以便于开发或调试驱动程序。

  • 若要播放某些类型的下一代高级内容,Windows Vista 和更高版本的 Windows 中的所有内核模式组件都必须签名。 此外,受保护媒体路径 (PMP) 中的所有用户模式和内核模式组件都必须符合 PMP 签名策略。 有关 PMP 签名策略的信息,请参阅白皮书对 Windows Vista 中受保护的媒体组件进行代码签名

出于这些原因,适用于 Windows Vista 和更高版本的 Windows 的驱动程序应使用使用 Microsoft Authenticode 创建的数字证书进行测试签名。 此类数字证书称为 测试证书,使用测试证书 生成的签名称为 测试签名

注意 Windows Vista 和更高版本的 Windows 仅支持用于开发和测试目的的测试签名驱动程序。 测试签名不得用于生产目的或发布给客户。

开发和测试团队可以参与 WHQL 测试签名计划,其中 Windows 硬件质量实验室 (WHQL) 将对 PnP 驱动程序包 进行签名以进行测试。 或者,开发和测试团队可以管理自己的内部签名过程,并使用以下类型的 测试证书 对驱动程序进行测试签名:

有关测试团队在创建、获取或提供测试证书后如何对驱动程序包进行签名的信息,请参阅 测试签名驱动程序包

有关如何安装测试签名的驱动程序包的信息,请参阅 安装Test-Signed驱动程序包

为了便于早期驱动程序开发和调试,可以暂时禁用内核模式代码签名要求,以加载和测试未签名的内核模式驱动程序。 但是,不能禁用要求系统管理员授权安装未签名驱动程序的 PnP 驱动程序安装策略。 有关如何安装未签名的驱动程序的详细信息,请参阅 在开发和测试期间安装未签名的驱动程序

有关用于对驱动程序包进行测试签名的最合适工具的信息,请参阅 驱动程序签名工具

注意 若要更好地了解测试签名驱动程序包所涉及的步骤,请参阅 如何Test-Sign驱动程序包。 本主题提供测试签名过程的摘要,并逐步介绍使用 Windows 驱动程序工具包中的 ToastPkg 示例 驱动程序包 (WDK) 中的许多测试签名示例。