【发布时间】:2012-05-19 23:02:51
【问题描述】:
我正在编写要在我们的软件构建过程中使用的程序集信息应用程序,并尝试从已签名的 .Net 程序集中读取数字签名信息。
我想在我的 C# 代码中执行 Windows Explorer 可以执行的操作,方法是右键单击已签名的程序集并选择“数字签名”选项卡,然后单击“详细信息”按钮。例如
有没有人知道如何在 C# 中以编程方式执行此操作?我目前正在使用Mono Cecil library 从程序集中获取其余信息。非常感谢您的帮助。
【问题讨论】:
-
你显示的是
Authenticode签名,适用于所有PE文件。还有strongnaming,.NET 特定的签名格式。强命名是使用密钥对而不是证书完成的,因此您无法从强命名程序集中提取任何有用的信息。在 StackOverflow 上搜索Authenticode将为您提供大量有用的信息。 -
成功了,X509Certificate.CreateFromSignedFile(exe) 就像一个魅力。但是,它引发了一个相当空的异常,如“如何从签名的 C# exe 读取公钥”链接中所示。
标签: c# x509certificate digital-signature signed authenticode