如何从已签名的.Net程序集中读取数字签名信息?

时间:2012-05-11 10:41:21

标签: c# x509certificate digital-signature signed authenticode

我正在编写一个汇编信息应用程序,用于我们的软件构建过程,并尝试从签名的.Net程序集中读取数字签名信息。

我希望通过右键单击已签名的程序集并选择“数字签名”选项卡,然后单击“详细信息”按钮,在我的C#代码中执行Windows资源管理器可以执行的操作。例如

Windows 7 Explorer can do by right-clicking file properties

Digital signature details

有没有人知道如何在C#中以编程方式执行此操作?我目前正在使用Mono Cecil library从程序集中获取其余信息。非常感谢您的帮助。

2 个答案:

答案 0 :(得分:6)

Mono项目提供了signcodechktrust的源代码,您可以在自己的应用程序中重复使用(开源,MIT X11许可)。

两者都使用Mono.Security.dll程序集(在Windows下运行,而不仅仅是Linux和OSX)并包含一个非常complete Authenticode support

答案 1 :(得分:0)

来自this response

  

SignCode(针对.Net 1.0和1.1)使用Authenticode签名,该签名为   据我所知,它缺少.Net Framework托管界面。

希望,看起来有些Nuget包实现了它: