证书验证工具 (Chktrust.exe)

证书验证工具检查用 Authenticode 证书签名的文件的有效性。

证书验证工具仅随 .NET Framework SDK 1.0 和 1.1 版一起提供。在更高的版本中,将改用签名工具 (SignTool.exe) 实用工具。

chktrust [/q] [/v] signedFile

参数

参数 说明

signedFile

包含要验证的签名的已签名文件。

选项 说明

/help

显示该工具的命令语法和选项。

/q

当无法确定出版商时,不显示提供安装和运行 signedFile 的选项的用户界面。

/v

指定详细模式;显示有关已签名文件有效性的详细信息。默认为显示简短信息。

/?

显示该工具的命令语法和选项。

备注

Chktrust.exe 通过执行下列操作来检查已签名文件的有效性:

  1. 从该文件中提取 PKCS #7 已签名数据对象。

  2. 从 PKCS #7 已签名数据对象中提取 X.509 证书。

  3. 为文件计算一个新的哈希值,并将该值与 PKCS #7 对象中的已签名哈希值进行比较。

  4. 如果二者一致,Chktrust.exe 将验证签名程序的 X.509 证书是否可以追溯到受信任的根证书。

如果所有步骤成功完成,说明该文件未被篡改,并且为该文件提供签名的供应商的身份已得到受信任的根证书颁发机构确认。

注意,如果提供一个不具有有效签名的 signedFile 参数,并且未指定 /q 选项,则该工具显示“安全设置警告”对话框。即使找不到 Authenticode 签名,该对话框也会提供安装和运行 PE 文件的选项。如果您所具有的有关该软件、发行者或计算机的信息不足以使您确信安装该文件将不会带来负面影响,您应选择**“否”。如果单击“否”按钮,则该工具将不运行或安装该文件,并报告检查失败。如果单击“是”**按钮,则该工具将安装和运行该文件,并报告检查成功。

有关 PKCS #7 对象和证书的更多信息,请参见 Microsoft Platform SDK 文档的“About CryptoAPI”部分。

示例

下列命令说明如何与 Microsoft Internet Explorer 4.0 或更高版本一起使用 Chktrust.exe。

chktrust MyProgram.exe

如果前面的命令成功执行,则下列输出指示经过检查的文件具有有效的签名。

MyProgram.exe: Succeeded

请参见

参考

.NET Framework 工具
SDK 命令提示