Skip to main content
Interwork Corporation
IDR Solutions Product Support Portal
PDF開発用語集 モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動

PDCryptFilterDictionary

PDCryptFilterDictionaryは、Apache PDFBoxの高レベルAPIクラスで、PDF文書の暗号化構造内にある暗号フィルター辞書を表現します。

キーワード: pdcryptfilterdictionary, PDCryptFilterDictionary

概要

PDCryptFilterDictionaryは、Apache PDFBoxの高レベルAPIクラスで、PDF文書の暗号化構造内にある暗号フィルター辞書を表現します。このクラスは、PDF標準 ( Citation: N.A., (N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) に従って、PDFの異なる部分がどのように暗号化されるかを定義する暗号化フィルター仕様を読み取り、変更するためのメソッドを提供します。暗号フィルターにより、異なるコンテンツストリームや文字列オブジェクトを異なるセキュリティハンドラやアルゴリズムを使用して暗号化できる柔軟な暗号化スキームが可能になります。

定義

PDCryptFilterDictionaryは、Apache PDFBox PDModel APIのJavaクラスで、PDF仕様 ( Citation: N.A., (N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) で定義されている暗号フィルター辞書構造をカプセル化します。暗号フィルター辞書は、PDFコンテンツストリームや文字列を暗号化または復号化するために使用されるアルゴリズム、鍵長、その他のパラメータを指定します。文書全体のセキュリティ設定を定義する広範な暗号化辞書とは異なり、暗号フィルター辞書は特定のコンテンツタイプに適用される暗号化方式に特化しています。PDCryptFilterDictionaryクラスは、暗号化フィルター方式(CFM)、暗号化鍵の長さ、埋め込みファイルストリームにフィルターが適用されるかどうかなどのプロパティに対するgetterおよびsetterメソッドを提供します。このクラスは通常、PDFセキュリティ機能をプログラム的に扱う際にPDEncryptionクラスを通じてアクセスされます。

重要性

暗号化されたPDFを扱う開発者にとって、PDCryptFilterDictionaryの理解は適切な文書セキュリティを実装し、暗号化されたコンテンツを正しく処理できるようにするために不可欠です。このクラスにより、開発者はPDFの異なる部分がどのように暗号化されているかを検査できます。これは、復号化、再暗号化、または異なるセキュリティスキーム間でPDFを移行する必要があるアプリケーションを構築する際に重要です。また、規制要件のために特定の暗号化アルゴリズムを検証または強制する必要があるコンプライアンスシナリオでも重要です。PDF生成または操作ツールを作成する開発者は、業界標準や組織のセキュリティポリシーに一致する暗号化設定を構成するためにこのクラスが必要です。暗号フィルター辞書を適切に処理しないと、アプリケーションが暗号化されたPDFを正しく処理できなかったり、弱い暗号化や非標準の暗号化を持つ文書を誤って作成したりする可能性があります。

仕組み

PDCryptFilterDictionaryクラスは、PDFの暗号化辞書に格納されている辞書構造のJavaオブジェクト表現を提供することで機能します。PDFBoxでPDFを開くと、ライブラリは暗号化辞書を解析し、文書内に存在する各名前付き暗号フィルターに対してPDCryptFilterDictionaryオブジェクトをインスタンス化します。開発者はgetCryptFilterMethod()などのメソッドを呼び出して暗号化アルゴリズム(RC4の場合はV2、AES暗号化の場合はAESV2/AESV3など)を取得したり、getLength()で鍵長をビット単位で取得したり、isAuthEvent()で暗号化鍵がいつ作成されるかを判断したりできます。暗号化されたPDFを作成または変更する際、開発者は希望する暗号化パラメータでPDCryptFilterDictionaryオブジェクトをインスタンス化して構成し、それを文書のPDEncryptionオブジェクトに関連付けます。このクラスは、JavaオブジェクトとベースとなるCOS(Carousel Object Structure)辞書表現の間の変換を処理し、低レベルのPDF構文の詳細を抽象化します。1つの文書内に複数の暗号フィルター辞書が存在でき、文字列、ストリーム、埋め込みファイルなど、異なるコンテンツタイプに対して異なる暗号化方式を使用できます。

関連用語

  • PDEncryption – PDF文書全体の暗号化辞書を表すPDFBoxクラス
  • COSDictionary – PDFのCarousel Object Structure内の辞書オブジェクトを表す低レベルのPDFBoxクラス
  • Security Handler – PDFで暗号化および復号化アルゴリズムを実装する責任を持つコンポーネント
  • Standard Security Handler – パスワードベースの暗号化を使用するPDF組み込みのセキュリティメカニズム
  • Encryption Dictionary – すべての暗号化関連パラメータと暗号フィルター仕様を含むPDF辞書構造

出典

(N.A.) (2020)
(N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html