我们需要验证二进制文件是否使用数字签名(Authenticode)正确签名。使用signtool.exe可以很容易地实现这一点。然而,我们需要一种自动的方法来验证签名者的名字和时间戳。在原生C++中使用CryptQueryObject()
API可以做到这一点,如下面的示例所示:How To Get Information from Authenticode Signed Executables
然而,我们生活在一个托管的世界中:)因此寻找C#解决方案来解决同样的问题。直接的方法是pInvoke Crypt32.dll,一切都完成了。但在System.Security.Cryptography.X509Certificates
命名空间中也有类似的托管应用程序接口。X509Certificate2
类似乎提供了一些信息,但没有提供时间戳。现在我们来到了最初的问题,我们如何在C中获得数字签名的时间戳?
https://stackoverflow.com/questions/3281057
复制相似问题