如何以编程方式获取用于在.NET中对程序集进行数字签名的公司信息?

时间:2010-04-15 02:10:31

标签: c# .net assemblies code-signing digital-signature

作为一种简单安全的方法,我之前根据其公钥检查了我的程序的下载更新包的数字签名,以确保它来自我。但是,由于我使用廉价代码签名证书(Tucows),我无法续订现有证书,因此每次需要续订时密钥都会更改。

因此,更可靠的方法是根据我的知名组织字符串验证嵌入在签名程序集中的组织信息(显示在UAC对话框中),因为这将继续保持相同。

有人知道如何从数字签名的程序集中获取此信息吗?

2 个答案:

答案 0 :(得分:1)

使用您的密钥检查程序集是否强大是不够的? Authenticode主要使最终用户受益,因为最终用户可以确定您是您所声称的人(由于证书颁发机构的努力)。在我看来,在你的情况下,在一个简单的强名称上,authenticode证书中没有额外的安全性。

我认为强大的名称更容易验证,您不必担心密钥更改。

答案 1 :(得分:0)

假设使用Authenticode技术和X.509证书(而不仅仅是强名称)对程序集进行签名,则需要Authenticode读取器代码(或组件)来提取证书并对其进行验证。之后,您将在证书的SubjectName或SubjectRDN记录的其中一个字段中找到组织名称。

我们在PKIBlackbox包中提供Authenticode reader class and certificate manipulation class