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

时间:2017-02-24 09:35:23

标签: c# .net digital-signature authenticode winverifytrust

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

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

1 个答案:

答案 0 :(得分:0)

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

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