デジタル署名

PDF におけるデジタル署名

PDF のデジタル署名は、暗号証明書を使用して文書の真正性を証明し、改ざんを検出します。署名は文書内の署名フィールドに埋め込まれます。

PdfFileSignature

PdfFileSignature は、既存の PDF 文書における署名フィールドの署名および検証操作を提供します:

try (PdfFileSignature sig = new PdfFileSignature("input.pdf")) {
    sig.sign(1, certificate, privateKey, chain, null, new DocMDPSignature(doc, DocMDPAccessPermissions.FillingInForms));
    sig.save("signed.pdf");
}

検証は、署名が期待されるバイト範囲をカバーしているか、また署名証明書が有効かどうかを確認します。

PdfSigner

PdfSigner は、署名フィールドの作成、PKCS#7 コンテナの生成、バイト範囲の計算を組み合わせたハイレベルな署名ワークフローを提供します。

PKCS7SignedData

PKCS7SignedData.createDetached() 分離型CMS署名コンテナを作成し、PDF署名ディクショナリに埋め込みます。詳細は PKCS#7 詳細は.

署名の検証

署名後、署名は PdfFileSignature.getSignNames() を使用して列挙でき、署名の有効性ステータスを確認することで検証できます。

参照

 日本語