4

デジタル署名されたPDFドキュメントから証明書情報を読み取るためにITextSharpを使用しています。

このITextSharp.Text.Pdf.PdfPKCS7クラスは、次の3つのプロパティを公開します。

  • Certificates(リストとして)
  • SignCertificate(単一オブジェクトとして)
  • SignCertificateChain(リストとして)

単一の証明書に関するすべての情報を取得するために、これら3つのプロパティをどのように組み合わせることができますか?

すべての証明書パス(すべてのネストされた証明書)を表示できます。

4

1 に答える 1

2

Certificatesメインの署名に使用されなかった証明書を含め、特定の順序でリストが表示されます。

SignCertificate実際の署名者の証明書を提供します。

SignCertificateChain最初の証明書がSignCertificateであり、次がSignCertificateを発行したインスタンスの証明書であり、次が前の証明書を発行したインスタンスの証明書であるというリストを提供します。Certificatesメインの署名に使用された証明書のみが返されるため、これは、より少ない証明書を返す可能性があります。

したがって、証明書パスを表示するためにプロパティを「組み合わせる」必要はありません。必要なのはSignCertificateChainだけです。あなたの質問は完全に明確ではないことに注意してください:

「単一の証明書に関するすべての情報」

ある種の矛盾

'すべての証明書パス(すべてのネストされた証明書)を表示する'

署名証明書につながったチェーンを視覚化する場合は、複数の証明書を確認する必要があります(証明書が自己署名されている場合を除きます。この場合、チェーンには1つの要素しかありません)。

于 2012-09-18T14:32:11.857 に答える