4

我目前正在使用 WinVerifyTrust api 检查 Windows 安装程序文件 (.msi) 的数字签名在 C# 中是否有效。我还在验证签名中的指纹是否来自已知列表。

我需要对 C#(在 Windows 上)中的 Mac OSX 文件(.dmg)执行相同的操作。有没有办法做到这一点?

4

1 回答 1

0

使用 OpenSsl、Bouncy Castle 或 System.Security.Cryptography(sha256 校验和或类似)在您的系统上使用 C# 检查校验和。如果您是供应商,您可以先生成一个哈希并将其发布在 .msi 和 .dmg 文件的下载页面上。我以前试过这个,效果很好。但是,我目前没有附加到此答案的代码,请在 System.Security.Cryptography 中使用 ComputeHash 函数。

如果您无法直接访问这些文件,则可以下载 .dmg 并使用 C# 从中创建哈希。除非被操纵,否则在检查时将正确验证的哈希值。从文件的所有字节创建哈希比信任嵌入的数据更安全,后者可以被替换和签名以显示有效,除非您与创建者交叉检查所有内容。

于 2017-03-19T16:23:58.167 回答