PDSignature
PDSignatureは、Apache PDFBox PDModel APIの高レベルクラスで、PDF文書内のデジタル署名情報を表現します。
PDSignatureは、Apache PDFBox PDModel APIの高レベルクラスで、PDF文書内のデジタル署名情報を表現します。このクラスは、既存の署名辞書を読み取り、 ( Citation: N.A., 2020 (N.A.). (2020). Document management — Portable document format — Part 2: PDF 2.0 . International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) で定義されているPDF仕様に準拠した新しい署名構造を作成するためのメソッドを提供します。PDSignatureは、PDF署名辞書のJavaオブジェクト表現として機能し、開発者が署名時刻、署名者名、署名理由、暗号化の詳細などの署名プロパティにプログラム的にアクセスし、操作できるようにします。
PDSignatureは、Apache PDFBoxのorg.apache.pdfbox.pdmodel.interactive.digitalsignatureパッケージに含まれるJavaクラスで、PDF文書の署名辞書をカプセル化します。PDF構文を直接操作する低レベルのCOSDictionaryオブジェクトとは異なり、PDSignatureは署名データ構造を扱うための型安全でオブジェクト指向のインターフェースを提供します。このクラスは、
(
Citation: N.A., 2020
(N.A.).
(2020).
Document management — Portable document format — Part 2: PDF 2.0
.
International Organization for Standardization
Retrieved from
https://www.iso.org/standard/75839.html
)
で定義されている署名辞書タイプにマッピングされ、PDFファイルにおけるデジタル署名の必須エントリとオプションエントリを規定しています。
このクラスは、署名を含むフォームフィールドを表現するPDSignatureFieldクラスとは異なり、PDSignatureは特に署名値とメタデータを表現します。また、暗号化操作を実行する実際の署名ハンドラークラスとも異なります。PDSignatureは、署名や検証アルゴリズムではなく、署名辞書構造そのものに焦点を当てています。
PDFワークフローにデジタル署名機能を実装する開発者にとって、PDSignatureはPDF内部構造の深い知識を必要とせずに、重要な機能を提供します。このクラスは、複雑なPDF辞書操作を分かりやすいgetterメソッドとsetterメソッドに抽象化し、実装時間と潜在的なエラーを削減します。文書管理システム、監査証跡、承認ワークフローを構築する際、PDSignatureは開発者が署名メタデータを抽出し、署名の存在を検証し、署名操作のための文書を準備することを可能にします。
PDSignatureの理解は、デジタル署名標準への準拠、文書の真正性の維持、否認防止機能の提供を必要とするアプリケーションにとって重要です。このクラスは、認証署名や承認署名を含むさまざまな署名タイプをサポートしており、エンタープライズ文書セキュリティ実装の基本コンポーネントとなっています。
PDSignatureは、 ( Citation: N.A., 2020 (N.A.). (2020). Document management — Portable document format — Part 2: PDF 2.0 . International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) で規定されている署名辞書エントリを含むCOSDictionaryオブジェクトをラップすることで動作します。既存の署名を読み取る場合、PDFBoxは文書のAcroFormフィールドで見つかった署名辞書からPDSignatureオブジェクトをインスタンス化します。このクラスは、以下を含む標準的な署名プロパティのアクセサーメソッドを提供します。
- FilterとSubFilter:署名ハンドラーとエンコード形式を指定
- Name:署名者の名前をテキスト文字列として表現
- Reason:文書に署名した理由の記述
- M:日付形式での署名時刻
- Location:署名が行われたCPUホスト名または物理的な場所
- ContactInfo:署名者が検証のために提供する情報
新しい署名を作成する場合、開発者はPDSignatureオブジェクトをインスタンス化し、setterメソッドを使用してプロパティを設定し、PDFBoxの署名APIを使用して署名フィールドに関連付け、暗号化操作を適用します。署名辞書はPDF構造の一部となり、実際の署名バイトはContentsエントリに格納され、ByteRangeエントリは署名でカバーされるPDFファイルの部分を指定します。
このクラスは、PDFBoxの増分保存メカニズムと統合されており、署名済み文書が既存の署名を保持したまま変更できるようにし、PDF標準で要求される文書の署名有効性チェーンを維持します。
- PDSignatureField – 署名を保持し、PDF文書内の特定の場所にリンクするフォームフィールドコンテナ
- COSDictionary – PDF辞書オブジェクトを表現するPDFBoxの低レベルクラスで、PDSignatureが署名固有の機能のためにラップする
- Digital Signature – 文書の真正性と整合性を検証するための暗号化メカニズムで、PDFでは署名辞書を通じて実装される
- AcroForm – 署名フィールドやその他のフォーム要素を含むPDFのインタラクティブフォームアーキテクチャ
- Incremental Save – ファイルの末尾に変更を追加するPDF更新方法で、文書変更後の署名有効性を維持するために不可欠
- (N.A.) (2020)
- (N.A.). (2020). Document management — Portable document format — Part 2: PDF 2.0 . International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html
