証明書検査ツール (Chktrust.exe)
証明書検査ツールは、Authenticode 証明書による署名が付いたファイルの有効性をチェックします。
証明書検査ツールは、.NET Framework SDK Version 1.0 および 1.1 にのみ付属しています。新しいバージョンの .NET Framework SDK の場合は、代わりに 署名ツール (SignTool.exe) ユーティリティを使用します。
chktrust [/q] [/v] signedFile
パラメータ
引数 | 説明 |
---|---|
signedFile |
検査対象の署名を含む署名付きファイル。 |
オプション | 説明 |
---|---|
/help |
このツールのコマンド構文とオプションを表示します。 |
/q |
発行元を確認できない場合、signedFile のインストールと実行を行うオプションを提供するユーザー インターフェイスは表示されません。 |
/v |
詳細出力モードを指定します。署名付きファイルの有効性に関する詳細情報が表示されます。既定では、簡単な情報が表示されます。 |
/? |
このツールのコマンド構文とオプションを表示します。 |
解説
Chktrust.exe は、署名付きファイルの有効性を次の手順でチェックします。
ファイルから PKCS #7 署名付きデータ オブジェクトを抽出します。
PKCS #7 署名付きデータ オブジェクトから X.509 証明書を抽出します。
このファイルの新しいハッシュを計算し、それを PKCS #7 オブジェクトに含まれる署名付きハッシュと比較します。
ハッシュが一致する場合、Chktrust.exe は、署名者の X.509 証明書が信頼できるルート証明書に由来する証明書かどうかを検査します。
すべての手順が成功した場合、ファイルは改ざんされていません。また、ファイルに署名した販売元は、信頼できるルート機関から認証されています。
/q オプションを指定しないで有効な署名を持たない signedFile 引数を指定すると、セキュリティ警告のダイアログ ボックスが表示されます。このダイアログを使用すると、Authenticode 署名がない場合でも、PE ファイルをインストールして実行できます。ソフトウェアや発行者について十分な情報がなかったり、そのファイルをインストールしてもコンピュータに悪影響を及ぼさないことを確認できない場合は、[いいえ] を選択します。[いいえ] ボタンをクリックすると、ファイルのインストールも実行も行われずに、チェックが異常終了したことが報告されます****。[はい] ボタンをクリックすると、そのファイルがインストール、実行されて、チェックが正常終了したことが報告されます。
PKCS #7 オブジェクトと証明書の詳細については、プラットフォーム SDK の「About CryptoAPI」を参照してください。
使用例
Chktrust.exe と Microsoft Internet Explorer 4.0 以降を併用するコマンドを次に示します。
chktrust MyProgram.exe
上記のコマンドが成功した場合、チェックされたファイルが有効な署名を持つことを示す、次の出力が表示されます。
MyProgram.exe: Succeeded