PDFBox 2.0 を使用しています。PADES-LTV 形式で PDF を作成したいのですが、そのための手順はありません。私の質問は、LTV パラメータの一部と、適用される場合です。
どの時点でどのように追加されるかを知る必要がある
あなたが私を導くことができるなら、私は私のコードの一部を入れます.しかし、私はそれに署名する例を使用しています PDFBox
前もって感謝します
public void signDetached(PDDocument document, OutputStream output, TSAClient tsaClient)
throws IOException
{
setTsaClient(tsaClient);
// create signature dictionary
PDSignature signature = new PDSignature();
signature.setFilter(PDSignature.FILTER_ADOBE_PPKLITE);
signature.setSubFilter(PDSignature.SUBFILTER_ADBE_PKCS7_DETACHED);
signature.setName("test PADES-LTV");
signature.setLocation("Madrid, ES");
signature.setReason("Testing");
// TODO extract the above details from the signing certificate? Reason as a parameter?
// the signing date, needed for valid signature
signature.setSignDate(Calendar.getInstance());
// register signature dictionary and sign interface
document.addSignature(signature, this);
// write incremental (only for signing purpose)
document.saveIncremental(output);
}
最初のリンクは書店決済だったので削除しました。
私はこの情報を持っていますが、それを適用する方法はありません PDFBox
ETSI TS 102 778-4 V1.1.2 (2009-12) によると、LTV が適用される PDF ドキュメントの構造を図 2 に示します。
図 2: LTV を含む PDF ドキュメントの図
保護の有効期間は、適用された最後のドキュメント タイムスタンプの有効期間を超えてさらに延長できます。それには、DSS 情報を追加して、前の最後のドキュメント タイムスタンプと新しいドキュメント タイムスタンプを検証する必要があります。これを図 3 に示します。
図 3: LTV が繰り返される PDF ドキュメントの図
一方、Adobe によると (2013 年 1 月に PDF エバンジェリストの Leonard Rosenthol が iText メーリング リストで書いたように)、
LTV が有効になっているということは、ファイルの検証に必要なすべての情報 (ルート証明書を除く) が含まれていることを意味します。したがって、あなたのこの声明は真実です。
PDF は正しく署名され、必要なすべての証明書、すべての証明書の有効な CRL または OSCP 応答が含まれています。タイムスタンプ (通常またはドキュメント レベル) は必要ありません。この相違により、ETSI に準拠した LTV を持つ PDF ドキュメントは、通常、LTV 対応でないドキュメントのタイムスタンプを持つように Adobe ソフトウェアによって提示されます。
参照 (itext 用) :タイムスタンプ署名の LTV を有効にする方法は?