6.1 セキュリティ設定(証明セキュリティ)

『PDF Tool API』はX.509ファイルを用いた暗号化と、PKCS#12ファイルを用いた暗号化に対応しています。

証明書セキュリティでは1つのPDFファイルに受信者として複数の異なる証明書ファイルを登録することができます。このとき、受信者ごとに異なるユーザーアクセスフラグを設定できます。こうすることで同一のPDFを開いた場合でも、開く際に用いる秘密鍵によって閲覧者の権限を変えて管理することができます。

[PtlEncryptPermissionPubKey]は証明書セキュリティのユーザーアクセスフラグを扱うクラスで[PtlEncryptPermissionType2]のサブクラスです。
[PtlEncryptPermissionType2]で扱えるアクセス許可の全ての種類を扱えます。

閲覧者の権限管理で扱える具体的な項目については表 6.1「証明書セキュリティのユーザーアクセス許可」と後述の「6.1.1 証明書によるセキュリティ設定(X.509形式)」で列挙しています。 [PtlEncryptPermissionType2]で扱える項目については「『PDF CookBook』(第2巻)1.2 オーナーパスワード」に記載の「表1.7 ISO 32000-1 表22 ユーザーアクセス許可―タイプ2」と同じです。 証明書セキュリティ設定可能なユーザーアクセスフラグ]]

参考

PDF CookBookのバックナンバーはwebで無料公開しています。「『PDF CookBook』(第2巻)1.2 オーナーパスワード」は下記URLをご参照ください。
https://www.antenna.co.jp/ptl/cookbook/vol2/201805301211.html

表6.1 証明書セキュリティのユーザーアクセス許可
ビット位置
ONの時の許可内容
2
セットされている場合、暗号化の変更を認め、その他すべての操作を可能とする。
3
印刷許可する。このとき、ビット12がONなら高精度印刷を許可、OFFなら低解像度印刷を許可する。
4
ビット6, 9, 11で制御する操作以外の内容の修正を許可する。
5
アクセシビリティ以外の目的でテキストや画像の抽出を許可する。
6
テキスト注釈の追加・変更と対話式フォームフィールドを埋めることを許可する。このときビット4もONならば、新しい対話式フォームフィールドを作成したり、変更することも許可する。
9
ビット6(テキスト注釈の追加・変更)がOFFでも、署名を含め対話式フォームフィールドを埋めることを許可する。
10
スクリーン・リーダなどによるアクセシビリティサポートの目的でテキストや画像の抽出を許可する。
11
ビット4(内容の修正)がOFFでも、文書の合成を許可する。このとき、ページ挿入・ページ回転・ページの削除・しおりの作成・サムネイル画像の作成が可能になる。
12
高精度印刷を許可する。このビットがOFFのとき、低解像度の印刷のみを許可する。

そのほかに、証明書セキュリティ独自のユーザーアクセスフラグとして、暗号化の解除を含む全ての権限を許可する項目があります。これについては後述の「6.1.3 すべての権限を許可する(setFullPermission)」で解説します。