数字签名和外部内阁文件
Windows Installer 可以使用数字签名来检测损坏的资源。 安装外部资源时,可能会根据包中创作的引用签名者证书验证属于资源的签名者证书。 安装程序无法验证内部内阁的签名。 它只能通过使用 MsiDigitalSignature 表 和 MsiDigitalCertificate 表来验证数字签名。
安装存储在外部内阁中的文件时,Windows Installer 执行以下作:
- 安装程序检查该外部内阁的媒体条目是否列在 MsiDigitalSignature 表中。 存储在外部内阁中的文件是通过在 媒体表的“内阁”列中具有条目来标识的, 没有以“#”字符为前缀。
- 在打开外部内阁之前,安装程序会调用 WinVerifyTrust 来提取当前证书和哈希信息。 如果当前有关内阁的签名信息与包中创建的签名信息不匹配,则安装将失败。 安装失败,因为内阁可能已泄露,无法信任。
有关使用数字签名、数字证书和 WinVerifyTrust的详细信息,请参阅 Microsoft Windows 软件开发工具包(SDK)的 安全 部分。
有关详细信息,请参阅 MsiGetFileSignatureInformation、MsiDigitalCertificate 表和 MsiDigitalSignature 表。