1. トップ >
  2. 製品・サービス >
  3. biz-Stream >
  4. サポート情報 >
  5. PDF文書情報設定 セキュリティについて

biz-Stream サポート情報

RSS

PDF文書情報設定 セキュリティについて

2007年05月31日

biz-StreamでPDFファイル作成時に、文書全体に設定可能な項目及びアプリケーションからの設定方法を説明いたします。
今回はセキュリティに関する情報設定です。

1. セキュリティ方法

PDF文書のセキュリティは、次の方法が可能です。

● パスワードによるセキュリティ
パスワードを設定し、PDF文書を開く/編集/印刷等の可否を設定することができます。
● デジタルID(証明書)によるセキュリティ
デジタルID(証明書)を設定し、指定したユーザに文書を開く/編集/印刷等の可否を設定することができます。

2. 暗号化方法

PDFでは暗号方法として以下が可能です。

● 40-bit RC4
Adobe Acrobatにおいて「Acrobat 3.0およびそれ以降」を選択した場合に設定される暗号化方式です。セキュリティ方法は、PDFの仕様により「パスワードによるセキュリティ」のみ可能で、「デジタルID(証明書)によるセキュリティ」は作成できません。
biz-Streamにより作成可能です。
● 128-bit RC4
Adobe Acrobatにおいて「Acrobat 5.0およびそれ以降」又は「Acorbat 6.0およびそれ以降」を選択した場合に設定される暗号化方式です。セキュリティ方法は、「パスワードによるセキュリティ」及び「デジタルID(証明書)によるセキュリティ」が可能です。
いずれのセキュリティ方法もbiz-Streamにより作成可能です。
● 128-bit AES
Adobe Acrobatにおいて「Acrobat 7.0およびそれ以降」を選択した場合に設定される暗号化方式です。セキュリティ方法は、「パスワードによるセキュリティ」及び「デジタルID(証明書)によるセキュリティ」が可能です。
biz-Streamでは未サポートです。

3. PDFファイルのセキュリティ設定項目

PDFファイルでは文書全体のセキュリティ情報として、以下の項目を設定することができます。
但し、パスワード/デジタルID(証明書)/暗号化レベルなどのセキュリティ方法によって設定できる内容が変わるので、注意が必要です。

《 PDFファイルのセキュリティ設定項目一覧 》
#セキュリティ設定項目説明
(1)セキュリティ方法 「セキュリティなし」の他、「パスワードによるセキュリティ」「デジタルID(証明書)によるセキュリティ」等。
(2)互換性があるバージョン 暗号化方法の種類。
「Acrobat 3.0およびそれ以降」は40-bit RC4、「Acrobat 5.0およびそれ以降」及び「Acrobat 6.0およびそれ以降」は128-bit RC4、「Acrobat 7.0およびそれ以降」は128-bit AES。
(3)文書を開くパスワード PDFファイルを開く(参照する)際に入力するパスワード。
(4)権限パスワード PDFファイルのセキュリティ設定を変更する際に入力するパスワード。
(5)印刷 印刷できるレベルの設定、許可しない/低解像度のみ印刷許可/任意の解像度で印刷許可 が設定可能。
(6)文書の変更 文書の編集操作可否。
(7)文書アセンブリ ページの挿入/削除/回転、しおりとサムネールの作成の可否。
(8)内容のコピーと抽出 内容の選択/コピーの可否
(9)アクセシビリティのための内容の抽出 視覚に障碍を持つユーザに対して、スクリーンリーダ(読み上げ)の利用可否。
(10)ページの抽出 ページの抽出可否。
(11)注釈 注釈の追加/編集の可否。
(12)フォームフィールドの入力
(注1)
フォームに対する入力可否。
(13)署名
(注1)
既存の署名フィールドへの署名可否。
(14)テンプレートページの作成
(注1) (注2)
コンテンツの動的な作成等に利用するテンプレートページの作成の可否。
  1. (注1)「セキュリティ方法」に「パスワード」、「互換性があるバージョン」に「Acrobat 5.0~」を選択した場合のみ設定可能です。
  2. (注2)Adobe Acrobat にのみ表示/設定可能なセキュリティ項目です。
Adobe Acrobatのセキュリティプロパティ

《 Adobe Acrobatのセキュリティ設定情報 》

Adobe Readerのセキュリティプロパティ

《 Adobe Readerのセキュリティ設定情報 》

これら情報は通常Adobe Acrobat等によりPDFを作成・編集する際に設定しますが、biz-Streamでレイアウトファイル作成、及びアプリケーションから設定することが可能です。

4.レイアウトデザイナによるセキュリティの設定

レイアウトファイルに固定でこの文書のセキュリティを設定する場合、以下の手順で設定を行います。

  • レイアウトデザイナでドキュメントレイアウトを作成(又は開く)
  • 左にある「ツリービュー」の「セキュリティ」を選択
  • 「互換性」のドロップダウンリストから「Acrobat 3.0~」又は「Acrobat 5.0~」を選択
  • 「互換性」で「Acrobat 5.0~」を選択した場合、認証方法として「パスワード」又は「証明書」を選択
  • 認証方法として「パスワード」を選択した場合、「パスワードの指定」欄に入力
  • 認証方法として「証明書」を選択した場合、「証明書」欄に入力
  • 「権限」の各欄のチェックボックスをチェック
  • 入力が終わったら「権限」欄の下にある[適用]ボタンを押す
レイアウトデザイナのセキュリティ設定「互換性があるバージョン」が「Acrobat 3.0~」の場合

《 レイアウトデザイナのセキュリティ設定「互換性があるバージョン」が「Acrobat 3.0~」の場合 》

レイアウトデザイナのセキュリティ設定「互換性があるバージョン」が「Acrobat 5.0~」/「認証方法」が「パスワード」の場合

《 レイアウトデザイナのセキュリティ設定「互換性があるバージョン」が「Acrobat 5.0~」
「認証方法」が「パスワード」の場合 》

レイアウトデザイナのセキュリティ設定「互換性があるバージョン」が「Acrobat 5.0~」/「認証方法」が「証明書」の場合

《 レイアウトデザイナのセキュリティ設定「互換性があるバージョン」が「Acrobat 5.0~」
「認証方法」が「証明書」の場合 》

5. レイアウトXMLファイルによるセキュリティの設定

レイアウトデザイナにより作成するレイアウトXMLファイルはXML形式のファイルのため、直接XMLタグを編集することによりPDFの文書概要を設定することも可能です。

● 「互換性があるバージョン」=Acrobat 3.0~ の場合
《 PDFセキュリティ設定 互換性があるバージョンがAcrobat 3.0~の場合 》
#フィールドXMLタグ属性名指定内容
(2)暗号化レベルbs:document-securityencryption-level40: 40-bit RC4暗号化
(3)ユーザパスワードuser-password 文書を開くパスワード
(4)マスタパスワードmaster-password 権限を変更するパスワード
(5)印刷の許可printing allowed: 許可
not-allowed: 許可しない
(6)(7)文書変更の許可changing allowed: 許可
not-allowed: 許可しない
(8)(9)内容のコピーや抽出の許可と
アクセシビリティの制御
content-copying allowed: 許可
not-allowed: 許可しない
(11)注釈やフォームフィールドの
追加・変更の許可
form-field-signing allowed: 許可
not-allowed: 許可しない
《 レイアウトサンプル 》

<?xml version="1.0" encoding="UTF-8"?>
<!-- XML file created by biz-Stream Designer -->
<!-- Copyright by Brainsellers.com Corporation -->
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" ...
    <bs:document-properties-set>
        <bs:document-security encryption-level="40"
            user-password="dXNlcg==" master-password="bWFzdGVy" 
            printing="not-allowed" changing="allowed" 
            content-copying="allowed" form-field-signing="allowed"/>
    </bs:document-properties-set>
● 「互換性があるバージョン」=Acrobat 5.0~/「認証方法」=パスワード の場合
《 PDFセキュリティ設定 互換性があるバージョンがAcrobat 5.0~かつ認証方式がパスワードの場合 》
#フィールドXMLタグ属性名指定内容
(2)暗号化レベルbs:document-security128encryption-level 128: 128-bit RC4暗号化
(3)ユーザパスワードuser-password 文書を開くパスワード
(4)マスタパスワードmaster-password 権限を変更するパスワード
(9)アクセシビリティを
有効にする
accessibility allowed: 許可
not-allowed: 許可しない
(8)(9)内容のコピーや
抽出の許可
content-copying allowed: 許可
not-allowed: 許可しない
(5)印刷の許可printing allowed: 許可
not-allowed: 許可しない
low-resolution: 低解像度
(11)(12)
(13)(14)
変更の許可changing comment-fillin-signing: 注釈作成、フォームフィールドの入力または署名
(7) only-assembly: 文書アセンブリのみ
(12)(13)
(14)
only-fillin-signing: フォームフィールドの入力または署名のみ
(6)(7)
(11)(12)
(13)(14)
not-allowed: なし
(6)(7)
(11)(12)
(13)(14)
editing-comment-field-authoring: 編集、注釈及びフォームフィールドの作成
《 レイアウトサンプル 》

<?xml version="1.0" encoding="UTF-8"?>
<!-- XML file created by biz-Stream Designer -->
<!-- Copyright by Brainsellers.com Corporation -->
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" ...
    <bs:document-properties-set>
        <bs:document-security128 user-password="dXNlcg==" 
            master-password="bWFzdGVy" accessibility="allowed" 
            content-copying="allowed" printing="allowed" 
            changing="comment-fillin-signing">
        </bs:document-security128>
    </bs:document-properties-set>
● 「互換性があるバージョン」=Acrobat 5.0~/「認証方法」=証明書 の場合

「認証方法」=パスワードのユーザパスワード(user-password)及びマスタパスワード(master-password)の代わりにbs:security-recipients属性のマスター証明書(full-recipients)及びユーザ証明書(user-recipients)を設定します。その他属性は共通です。

《 PDFセキュリティ設定 互換性があるバージョンがAcrobat 5.0~かつ認証方式が証明書の場合 》
#フィールドXMLタグ属性名指定内容
-ユーザ証明書bs:security-recipientsuser-recipientshref: 権限設定するユーザのデジタルID(証明書)ファイルのパス
-マスター証明書full-recipientshref: フルアクセス可能なユーザのデジタルID(証明書)ファイルのパス
《 レイアウトサンプル 》

<?xml version="1.0" encoding="UTF-8"?>
<!-- XML file created by biz-Stream Designer -->
<!-- Copyright by Brainsellers.com Corporation -->
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" ...
    <bs:document-properties-set>
        <bs:document-security128 accessibility="allowed" 
          content-copying="allowed" printing="allowed" 
          changing="comment-fillin-signing">
            <bs:security-recipients>
              <bs:user-recipient href="${base-dir}\User_BSTechnical.cer"/>
              <bs:full-recipient href="${base-dir}\BSTechnical.cer"/>
            </bs:security-recipients>
        </bs:document-security128>
    </bs:document-properties-set>

※ レイアウトタグに関しては、「ドキュメントレイアウトタグ リファレンスガイド」「2.1.4.4 セキュリティ <bs:document-security>」「2.1.4.5 セキュリティ Acrobat5相当 <bs:document-security128>」及びサンプルファイル「<biz-Streamインストールフォルダ>/sample/xml/layout-master-set/」をご参照下さい。

6.アプリケーションからのセキュリティ設定

アプリケーションから動的に設定するには以下のメソッドを利用することが可能です。

● 「互換性があるバージョン」=Acrobat 3.0~ の場合
《 PDFセキュリティ設定API 互換性があるバージョンがAcrobat 3.0~の場合 》
#フィールドメソッドパラメタ
(2)暗号化レベルsetEncryptionLevel(int level) level=128: 128-bit RC4暗号化
level=128以外: 40-bit RC4暗号化
デフォルトは40-bit RC4暗号化
(3)ユーザパスワードsetUserPassword(String pw) pw:ユーザパスワード
(4)マスタパスワードsetOwnerPassword(String pw) pw:マスタパスワード
(5)印刷の許可setPrintPermission(boolean b) b=true: 許可
b=false: 許可しない
デフォルトは b=true: 許可
(6)(7)文書変更の許可setChangePermission(boolean b) b=true: 許可
b=false: 許可しない
デフォルトは b=true: 許可
(8)(9)内容のコピーや抽出の許可と
アクセシビリティの制御
setCopyPermission(boolean b) b=true: 許可
b=false: 許可しない
デフォルトは b=true: 許可
(11)注釈やフォームフィールドの
追加・変更の許可
setNotesPermission(boolean b) b=true: 許可
b=false: 許可しない
デフォルトは b=true: 許可
● 「互換性があるバージョン」=Acrobat 5.0~ の場合
《 PDFセキュリティ設定API 互換性があるバージョンがAcrobat 3.0~の場合 》
#フィールドメソッドパラメタ
(2)暗号化レベルsetEncryptionLevel(int level) level=128: 128-bit RC4暗号化
level=128以外: 40-bit RC4暗号化
デフォルトは40-bit RC4暗号化
(3)ユーザパスワードsetUserPassword(String pw) pw: ユーザパスワード
(4)マスタパスワードsetOwnerPassword(String pw) pw: マスタパスワード
(9)アクセシビリティを
有効にする
setAccessibility(boolean b) b=true: 許可
b=false: 許可しない
デフォルトは b=true:許可
(8)(9)内容のコピーや
抽出の許可
setCopyPermission(boolean b) b=true: 許可
b=false: 許可しない
デフォルトは b=true:許可
(5)印刷の許可setPrintPermission(boolean b) b=true: 許可
b=false: 許可しない
デフォルトは b=true:許可
setPrintPermission(boolean enable,
boolean quality)
enable=trueかつquality=true: 許可(高解像度)
enable=trueかつquality=false: 許可(低解像度)
enable=false: 許可しない
setPrintFullyAllowed() 高解像度で印刷許可
setPrintLowResolution() 低解像度のみ印刷許可
setPrintNotAllowed() 印刷を許可しない
(11)(12)
(13)(14)
変更の許可setChangeCommentFillinSigning() 「注釈作成、フォームフィールドの入力または署名」の設定と同等
(7)setChangeOnlyAssembly() 「文書アセンブリのみ」の設定と同等
(12)(13)
(14)
setChangeOnlyFillinSigning() 「フォームフィールドの入力または署名のみ」の設定と同等
(6)(7)
(11)(12)
(13)(14)
setChangeNone() 「なし」の設定と同等
(6)(7)
(11)(12)
(13)(14)
setChangeEditingCommentFieldAuthoring() 「編集、注釈及びフォームフィールドの作成」の設定と同等
デフォルトでは呼ばれているのと同等
-マスター証明書appendFullRecipient(String filename) filename: フルアクセス可能なユーザのデジタルID(証明書)ファイルのパス
複数回呼べばその分追加
setRecipients()を呼んだ時点でそれまで追加した分が反映
-ユーザ証明書appendUserRecipient(String filename) filename: 権限設定するユーザのデジタルID(証明書)ファイルのパス
複数回呼べばその分追加
setRecipients()を呼んだ時点でそれまで追加した分が反映
--setRecipients() appendFullRecipient(), appendUserRecipient() で追加したデジタルID(証明書)をPDF生成に反映

また、これらのメソッドを利用したサンプルプログラムは以下よりダウンロード可能です。

7. 留意事項

レイアウトデザイナにてパスワードを設定する場合、ユーザパスワードとマスタパスワードに同じものを設定する事はできません。
ドキュメントレイアウト XML ファイルを直接編集して同じパスワードを設定、又はアプリケーションからsetUserPassword/setOwnerPasswordメソッドにより同じパスワードを設定しPDFファイルを生成することも可能ですが、この場合マスタパスワードは設定されず、ユーザパスワードのみが有効になります。