从pdf阅读证书

时间:2012-09-18 13:00:40

标签: c# pdf itextsharp x509certificate

我正在使用ITextSharp从数字签名的pdf文档中读取证书信息。

ITextSharp.Text.Pdf.PdfPKCS7类公开了三个属性:

  • Certificates(列表)
  • SignCertificate(作为单个对象)
  • SignCertificateChain(列表)

如何组合这三个属性以获得有关单个证书的所有信息?

我可以显示所有证书路径(所有嵌套证书)。

1 个答案:

答案 0 :(得分:2)

Certificates为您提供无特定顺序的列表,包括未用于主签名的证书。

SignCertificate为您提供实际签名者的证书。

SignCertificateChain为您提供第一个证书是SignCertificate的列表,下一个是颁发SignCertificate的实例的证书,下一个是颁发先前证书的实例的证书,依此类推。这可以返回少于Certificates的证书,因为只返回用于主签名的证书。

因此,您不需要“组合”属性来显示证书路径,您只需要SignCertificateChain。请注意,您的问题并不完全清楚:

  

'有关证书'的所有信息

相矛盾
  

'show 所有证书路径(所有嵌套证书)'

如果要显示导致签名证书的链,您需要查看多个证书(除非证书是自签名的,在这种情况下,链中只有一个元素)。