PDEncryptionDictionary
PDEncryptionDictionaryは、Apache PDFBox PDModel APIの高レベルクラスであり、PDF文書の暗号化辞書へのプログラムによるアクセスを提供します。
PDEncryptionDictionaryは、Apache PDFBox PDModel APIの高レベルクラスであり、PDF文書の暗号化辞書へのプログラムによるアクセスを提供します。この辞書には、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 ) で定義されているアクセス権限、暗号化アルゴリズム、認証方法を制御するセキュリティ設定とパラメータが格納されています。このクラスにより、開発者はパスワード保護、ユーザー権限、暗号化強度など、文書レベルのセキュリティ設定を検査および変更できます。
PDEncryptionDictionaryは、PDF文書のトレーラーまたは文書カタログ内の暗号化辞書構造を表すJavaクラスです。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 ) において、暗号化辞書にはセキュリティハンドラ、暗号化フィルタ、鍵長、各種権限フラグを指定する必須エントリとオプションエントリが含まれています。COS(Carousel Object Structure)オブジェクトを直接扱う低レベルのPDFBoxクラスとは異なり、PDEncryptionDictionaryは、セキュリティハンドラ名、フィルタタイプ、暗号化鍵長(通常40、128、または256ビット)、印刷、コンテンツのコピー、文書の組み立て、フォームの記入などの操作を制御する権限フラグなどの暗号化パラメータにアクセスするための型付きメソッドを備えた、開発者に優しいインターフェースを提供します。この抽象化レイヤーにより、開発者は基盤となるPDFオブジェクト構文の複雑さから保護されながら、セキュリティ関連の文書プロパティへの完全なアクセスを維持できます。
PDEncryptionDictionaryの理解と適切な実装は、安全な文書管理システム、コンプライアンス主導のワークフロー、またはアクセシビリティ対応アプリケーションを構築する開発者にとって極めて重要です。このクラスは、文書を処理する前に既存のセキュリティ設定を検査するための基本的な機能を提供します。これは特に、コンテンツの抽出や変更に影響を与える可能性のある制限が設定された暗号化PDFを扱う際に重要です。アクセシビリティの実装においては、暗号化設定が支援技術の文書コンテンツへのアクセス能力に影響を与える可能性があることを開発者は認識する必要があり、アクセシビリティ標準 ( Citation: N.A., 2014 (N.A.). (2014). Document management applications — Electronic document file format enhancement for accessibility — Part 1: Use of ISO 32000-1 (PDF/UA-1) . International Organization for Standardization Retrieved from https://www.iso.org/standard/64599.html ) に概説されているように、セキュリティ設定が誤って正当なアクセスをブロックしないことを検証する必要があります。さらに、暗号化辞書の適切な取り扱いは、データ保護要件への準拠を保証し、安全な文書配布ワークフローを可能にし、開発者がPDF文書に組織のセキュリティポリシーをプログラムで適用できるようにします。
Apache PDFBoxでPDEncryptionDictionaryを使用する場合、開発者は通常、PDDocumentオブジェクトからgetEncryption()メソッドを使用して暗号化辞書を取得します。このクラスは、セキュリティハンドラ名を取得するgetFilter()、暗号化アルゴリズムのバージョンを取得するgetVersion()、暗号化鍵長をビット単位で取得するgetLength()、32ビットの権限フラグ整数を取得するgetPermissions()などの、暗号化パラメータを読み取るメソッドを公開しています。各権限ビットは、
(
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
)
で定義されている特定の文書操作を制御します。これには、印刷(ビット3)、コンテンツの変更(ビット4)、テキストとグラフィックスのコピー(ビット5)、注釈とフォームフィールドの追加または変更(ビット6と9)、フォームフィールドの記入(ビット9)、アクセシビリティ目的のテキスト抽出(ビット10)が含まれます。開発者はまた、このクラスを使用して、ユーザーパスワードまたはオーナーパスワードが設定されているかどうかを判断し、セキュリティハンドラのタイプ(通常はStandardまたはPublic Key)を識別し、暗号化アルゴリズム(RC4、AES-128、またはAES-256)を確認できます。新しい暗号化文書を作成する場合、開発者はPDEncryptionDictionaryをインスタンス化し、setterメソッドを使用して目的のセキュリティパラメータを設定し、AccessPermissionオブジェクトを作成して操作制限を定義し、StandardProtectionPolicyまたはPublicKeyProtectionPolicyオブジェクトを使用してPDDocumentのprotect()メソッドでこれらの設定を適用します。
- PDDocument – Apache PDFBoxにおいてPDF文書全体を表すメインコンテナクラス
- AccessPermission – 印刷やコピーなどのPDF文書操作のユーザー権限フラグをカプセル化するクラス
- StandardProtectionPolicy – PDF文書にパスワードベースの暗号化を適用するために使用されるセキュリティポリシークラス
- Encryption Dictionary(暗号化辞書) – 暗号化されたPDF文書のすべてのセキュリティ関連パラメータと設定を格納するPDF構造
- Security Handler(セキュリティハンドラ) – 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
- (N.A.) (2014)
- (N.A.). (2014). Document management applications — Electronic document file format enhancement for accessibility — Part 1: Use of ISO 32000-1 (PDF/UA-1) . International Organization for Standardization Retrieved from https://www.iso.org/standard/64599.html
