MsiDigitalSignature 表
MsiDigitalSignature 表包含安装数据库中每个数字签名对象的签名信息。
MsiDigitalSignature 和 MsiDigitalCertificate 表从 Windows Installer 2.0 版本开始提供。
Windows Installer 版本可使用数字签名来检测已损坏的资源。 Windows Installer 2.0 只能验证外部 Cabinet 的数字签名,并且只能使用 MsiDigitalSignature 和 MsiDigitalCertificate 表进行验证。
从 Windows Installer 3.0 开始,Windows Installer 可以使用 MsiPatchCertificate 和 MsiDigitalCertificate 表验证修补程序(.msp 文件)的数字签名。 有关详细信息,请参阅创作安全安装指南和用户帐户控制 (UAC) 修补。
MsiDigitalSignature 表包含以下列。
列 | 类型 | 密钥 | Nullable |
---|---|---|---|
表 | Identifier | Y | N |
SignObject | 文本 | Y | N |
DigitalCertificate_ | Identifier | N | N |
哈希 | 二进制 | N | Y |
列
-
Table
-
对于 Windows Installer 2.0 版本,Media 表中此字段的条目必须是“Media”。 安装程序仅验证外部 Cabinet 媒体条目的数字签名。 此列和 SignObject 列共同指定经过数字签名的资源。
-
SignObject
-
由 Table 列指定的表的主键中的外键。 此列和 Table 列共同指定经过数字签名的资源。
-
DigitalCertificate_
-
MsiDigitalCertificate 表中的外键。 它会标识文件中必须存在才能成功执行关联操作的证书。 始终需要此资源(或对象)来匹配 MsiDigitalCertificate 表中的此证书。
-
Hash
-
在此字段中输入资源(或对象)的引用哈希,系统会根据在运行时获取的资源(或对象)的实际哈希检查该引用哈希。 如果只需验证证书,则 Hash 字段可以为 Null。 请注意,哈希格式取决于要签名的资源(或对象)的类型。
Hash 列包含二进制表示形式的哈希。 实际内容是 CRYPTOAPI_BLOB 结构中的 CRYPT_HASH_BLOB 结构的 pbData 成员。 通过调用 WinVerifyTrust 或 MsiGetFileSignatureInformation 可获得该内容。
验证
相关主题