デジタル署名
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() を使用して列挙でき、署名の有効性ステータスを確認することで検証できます。