MsiDigitalSignature テーブル
MsiDigitalSignature テーブルには、インストール データベース内のすべてのデジタル署名されたオブジェクトの署名情報が含まれています。
MsiDigitalSignature テーブルと MsiDigitalCertificate テーブルは、Windows インストーラー バージョン 2.0 以降で使用できます。
Windows インストーラーのバージョンでは、破損したリソースを検出する手段としてデジタル署名を使用できます。 Windows インストーラー 2.0 では、外部キャビネットのデジタル署名のみを確認できます。また、MsiDigitalSignature および MsiDigitalCertificate テーブルの使用によってのみ検証できます。
Windows インストーラー 3.0 以降、Windows インストーラーは、MsiPatchCertificate と MsiDigitalCertificate テーブルを使用して、パッチ (.msp ファイル) のデジタル署名を検証できます。 詳細については、「セキュリティで保護されたインストール の作成に関する ガイドライン」および「ユーザー アカウント制御 (UAC) パッチ適用」を参照してください。
MsiDigitalSignature テーブルには、次の列があります。
コラム | 種類 | 鍵 | 許容 |
---|---|---|---|
テーブル | 識別子の | Y | N |
SignObject | テキスト | Y | N |
DigitalCertificate_ | 識別子の | N | N |
ハッシュ | バイナリ の | N | Y |
列
-
テーブル
-
Windows インストーラー バージョン 2.0 では、このフィールドのエントリは、Media テーブルの "Media"必要があります。 インストーラーは、外部キャビネット メディア エントリのデジタル署名のみを検証します。 この列と SignObject 列は、デジタル署名されたリソースを指定します。
-
SignObject
-
Table 列で指定されたテーブルの主キーへの外部キー。 この列と Table 列は、デジタル署名されたリソースを指定します。
-
DigitalCertificate_
-
MsiDigitalCertificate テーブルへの外部キー。 これにより、関連付けられたアクションを成功させるためにファイルに存在する必要がある証明書が識別されます。 リソース (またはオブジェクト) は、MsiDigitalCertificate テーブル内のこの証明書と一致する必要があります。
-
ハッシュ
-
このフィールドに、実行時に取得されたリソース (またはオブジェクト) の実際のハッシュに対してチェックされるリソース (またはオブジェクト) の参照ハッシュを入力します。 証明書のみを検証する必要がある場合は、ハッシュ フィールドが null である可能性があります。 ハッシュの形式は、署名されているリソース (またはオブジェクト) の種類によって異なります。
Hash 列には、ハッシュのバイナリ表現が含まれています。 実際のコンテンツは、CRYPTOAPI_BLOB 構造体の一部である CRYPT_HASH_BLOB 構造体の pbData メンバーです。 これは、WinVerifyTrust 呼び出すか、MsiGetFileSignatureInformation呼び出すことによって取得できます。
検証
関連トピック