0

itext を使用してタイムスタンプのドキュメントを追加するために、com.itextpdf.text.pdf.security.TSAClient 抽象インターフェイスがあります。

しかし、PDF ファイルからタイムスタンプ証明書を取得する方法は?

4

1 に答える 1

0

ドキュメントのタイムスタンプを含む署名フィールドのAcroFieldsメソッドを呼び出して、証明書の結果を照会することもできます。verifySignature

PdfReader reader = ...;
AcroFields fields = reader.getAcroFields();
List<String> names = fields.getSignatureNames();
String signatureName = names.get(names.size() - 1);
PdfPKCS7 pkcs7 = fields.verifySignature(signatureName);
System.out.println(String.format("Checking %ssignature %s", pkcs7.isTsp() ? "document-level timestamp " : "", signatureName));
Certificate[] chain = pkcs7.getSignCertificateChain();

このコードは、ドキュメントの最も外側の署名またはドキュメントのタイム スタンプを検査し、その署名またはタイム スタンプの証明書チェーンを既知の範囲で返します。

LtvVerifierすべての署名とドキュメントのタイムスタンプを検証するためにクラス (上記のコードを抽出したもの) を確認し、セクション 5.4.4コンテキストで使用するPDF ドキュメントのデジタル署名でLTV ドキュメントを検証することをお勧めします。

于 2013-06-24T13:20:27.453 に答える