从带有多个证书的签名EXE中获取多个X509Certificate2Collection对象(c#)

时间:2017-01-11 18:15:22

标签: c# .net certificate digital-signature

我正在尝试使用.NET库中的X509Certificate2Collection。 我有一个EXE;如果我转到Windows资源管理器并检查EXE文件的数字签名,我会看到两个条目。

当我使用以下代码时:

var certificationCollection = new X509Certificate2Collection();
certificationCollection.Import(filePath);

并尝试枚举证书。我只看到其中一个证书。无论如何我能得到它们吗?

2 个答案:

答案 0 :(得分:0)

尝试按名称搜索。

  • var certificate = collection.Find(X509FindType.FindBySubjectName,certificateName,false);

答案 1 :(得分:0)

我不认为.NET支持这个(还)。您可以使用WinVerifyTrust的dllimport从签名的程序集中检索所有证书。我使用这个本机调用来获取所有证书的列表,签名的时间以及使用的哈希算法。