验证发布签名

对驱动程序包进行发布签名后,可以使用 SignTool 工具验证以下项的签名:

  • 驱动程序包中的单个文件。

  • 内核模式二进制文件,如已嵌入签名的驱动程序。

本主题中的示例使用 Toastpkg 示例的二进制文件的 64 位版本 ,toaster.sys。 在 WDK 安装目录中,此文件位于 src\general\toaster\toastpkg\toastcd\amd64 目录中。

以下示例验证 tstamd64.cat 版本签名目录文件中toaster.sys的签名:

Signtool verify /kp /v /c tstamd64.cat amd64\toaster.sys

其中:

  • verify 命令将 SignTool 配置为验证指定目录文件中的签名 (tstamd64.cat) 。

  • /kp 选项配置 SignTool 以验证是否满足内核策略。

  • /v 选项将 SignTool 配置为打印执行和警告消息。

  • /c 选项指定 tstamd64.cat) (发布签名的驱动程序包的目录文件。 如果要验证嵌入签名的驱动程序的数字签名,请不要使用此选项。

  • amd64\toaster.sys 是要验证的文件的名称。

在标记为“签名证书链”的此命令的输出下,应验证以下内容是否为 true:

  • 内核策略的证书链的根由 Microsoft 代码验证根颁发给 和 。

  • 颁发给第 3 类公共主要证书颁发机构的交叉证书也由 Microsoft 代码验证根颁发。

对于已签名的目录文件,还可以在驱动程序包中的任何内核模式二进制文件上验证默认验证码验证策略签名。 这可确保文件在用户模式即插即用安装对话框和 MMC 设备管理器管理单元中显示为已登录。

注意 此示例仅用于验证发布签名的 目录文件 ,而不是嵌入签名的内核模式二进制文件。

以下示例验证 tstamd64.cat 签名目录文件中toaster.sys的默认验证码验证策略:

Signtool verify /pa /v /c tstamd64.cat amd64\toaster.sys

其中:

  • verify 命令将 SignTool 配置为验证指定文件中的签名

  • /pa 选项配置 SignTool 以验证是否已满足验证码验证策略。

  • /v 选项将 SignTool 配置为打印执行和警告消息。

  • /c 选项指定 tstamd64.cat) 发布 (签名的驱动程序包的目录文件

  • amd64\toaster.sys 是要验证的文件的名称。

在标记为“签名证书链”的此命令的输出下,应验证默认 Authenticode 证书链是否颁发给 3 类公共主要证书颁发机构,并由其颁发。

还可以通过 Windows 资源管理器通过以下步骤验证目录文件本身的数字签名:

  • 右键单击 目录文件 ,然后选择“ 属性”。

  • 对于数字签名的文件,该文件的“ 属性 ”对话框有一个附加的“ 数字签名 ”选项卡,其中显示了用于对文件进行签名的证书的签名、时间戳和详细信息。

有关如何发布对驱动程序包进行签名的详细信息,请参阅 发布签名驱动程序包验证目录文件的 SPC 签名