可能重复:
文件签名验证
您好,我制作了一个基于 dll 文件的基本游戏,所有这些文件都已签名。如果有人篡改 dll 文件,则可能会以非预期的方式操纵游戏。VB、C++ 或 C# 中是否有办法验证文件是否从某个来源进行了数字签名?我发现这个签名工具说它可以验证文件,但它是通过 sdk 分发的,虽然我不是律师,但我想我不允许在我的程序中分发该文件。
您应该使用CryptQueryObject。
这篇知识库文章演示了如何使用:如何从 Authenticode 签名的可执行文件中获取信息。
对于询问如何在没有 Windows-API 的情况下执行此操作的评论者,我不知道有任何库可以做到这一点,但格式记录在这里:Windows Authenticode Portable Executable Signature Format