检索X509Certificate2对象的颁发者

时间:2015-10-19 16:00:10

标签: c# .net certificate x509certificate

我从X509Store检索了一个X509Certificate2对象。我想获得此证书的颁发者,但此对象提供的唯一两个属性是X509Certificate2.IssuerX509Certificate2.IssuerName,其中.Issuer有点误导,因为它重新编写基本上是发行者名称的字符串。 / p>

这两个属性最多只能返回Distinguished Name,但DN不是唯一的,对吧?因此,我不想将X509Certificate2Collection.Find方法与X509FindType.FindByIssuerDistinguishedName标志一起使用。

如何获得证书颁发者,并确保我拥有“正确的”证书。注意:我不必使用X509Certificate2对象。欢迎替代方案。

1 个答案:

答案 0 :(得分:5)

如果我理解正确,您有证书,并且想要找到颁发者证书。这可以按如下方式完成:

  1. 检查叶证书的Subject和Issuer字段是否不相同。否则,证书是颁发者(自签名证书)

  2. Instatniate lftp sftp://$HOST -u username,password -e "put $SOURCE_FILE $TARGET_DIR;bye" 对象并将叶证书传递给X509Chain方法。检查X509Chain.Build属性(集合),索引1处的元素是颁发者。

    ChainElements