在 Windows 中检查 OSX (.dmg) 文件的数字签名

Stu*_*ang 6 .net c# authenticode digital-signature winverifytrust

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

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

Gil*_* AB 0

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

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