MsiDigitalSignature 表

MsiDigitalSignature 表包含安装数据库中每个数字签名对象的签名信息。

从 Windows Installer 版本 2.0 开始,可以使用 MsiDigitalSignature 和 MsiDigitalCertificate 表。

Windows Installer 版本可以使用数字签名来检测损坏的资源。 Windows Installer 2.0 只能验证外部内阁的数字签名,仅通过使用 MsiDigitalSignature 和 MsiDigitalCertificate 表。

从 Windows Installer 3.0 开始,Windows Installer 可以使用 MsiPatchCertificate 和 MsiDigitalCertificate 表来验证修补程序(.msp 文件)的数字签名。 有关详细信息,请参阅 创作安全安装用户帐户控制(UAC)修补指南。

MsiDigitalSignature 表具有以下列。

类型 钥匙
桌子 标识符 Y N
SignObject 文本 Y N
DigitalCertificate_ 标识符 N N
散 列 二进制 N Y

 

使用 Windows Installer 版本 2.0 时,此字段中的条目必须是 媒体表的“媒体”。 安装程序仅验证外部内阁媒体条目上的数字签名。 此列和 SignObject 列一起指定数字签名的资源。

SignObject

表列指定的表的主键的外键。 此列和表列一起指定经过数字签名的资源。

DigitalCertificate_

MsiDigitalCertificate 表的外键。 这标识了文件上必须存在的证书,以便关联的作成功。 资源(或对象)始终需要在 MsiDigitalCertificate 表中匹配此证书。

哈希

在此字段中,输入要根据运行时获取的资源(或对象)的实际哈希检查的资源(或对象)的引用哈希。 如果只需要验证证书,哈希字段可能为 null。 请注意,哈希的格式取决于正在签名的资源(或对象)的类型。

哈希列包含哈希的二进制表示形式。 实际内容是 CRYPT_HASH_BLOB 结构的 pbData 成员,它是 CRYPTOAPI_BLOB 结构的一部分。 这可以通过调用 WinVerifyTrustMsiGetFileSignatureInformation来获取。

验证

ICE03
ICE06
ICE29
ICE32
ICE66
ICE81

MsiGetFileSignatureInformation

MsiDigitalCertificate 表

数字签名和 Windows Installer