biz-StreamマニュアルXMLドキュメントレイアウトタグ リファレンス第5章 文書設定について5.6 セキュリティ Acrobat5 相当<bs:document-security128>

5.6 セキュリティ Acrobat5 相当<bs:document-security128>


5.6.1機能説明

Adobe Acrobat5相当のセキュリティ設定を定義します。



5.6.2属性説明

1bs:document-security128属性説明
属性名 指定 説明 指定内容 初期値
user-password 任意 ユーザパスワード
元のテキストに対してbase64エンコーディングを行ったもの
CDATA 半角英数(32文字以内)
master-password 任意 マスタパスワード
元のテキストに対してbase64エンコーディングを行ったもの
CDATA 半角英数(32文字以内)
encryption-level 任意 暗号化レベル (Choice) 128 128
accessibility 任意 アクセシビリティを有効にする (Choice) allowed:有効 /
not-allowed:無効
allowed
content-copying 任意 内容のコピーや抽出の許可 (Choice) allowed:許可 /
not-allowed:許可しない
not-allowed
printing 任意 印刷 (Choice) allowed:許可 /
not-allowed:許可しない/
low-resolution:低解像度
allowed
changing 任意 変更の許可 (Choice) not-allowed:なし /
only-assembly:文書アセンブリのみ /
only-fillin-signing:フォームフィールドの入力または署名のみ /
comment-fillin-signing:注釈作成、フォームフィールドの入力または署名 /
editing-comment-field-authoring:編集、注釈及びフォームフィールドの作成
comment-fillin-signing

2 bs:security-recipients属性説明

属性はありません。
X509の署名を使用してセキュリティを設定するための機能です。
公開キーで暗号化することで秘密キーを持つユーザ以外には開くことの出来ないPDFを生成することが可能となります。




3bs:full-recipients属性説明

アクセシビリティを有効にする等のセキュリティ設定に依存する事無く全権限を使用できるユーザを指定します。
一つ以上で複数の指定が可能です。

属性名 指定 説明 指定内容 初期値
href 必須 フルアクセス可能なユーザの証明書ファイル CDATA


4bs:user-recipients属性説明

アクセシビリティを有効にする等のセキュリティ設定に従った権限を使用できるユーザを指定します。
省略可能で複数の指定が可能です。

属性名 指定 説明 指定内容 初期値
href 必須 権限設定するユーザの証明書ファイル CDATA


5.6.3記述例

bs:document-security128サンプル1

パスワードを指定してセキュリティを設定するサンプルです。

bs:document-security128サンプル1
(『<biz-Stream_home>/sample/xml/layout-master-set/layout-master-setSample2.xml』)

      <?xml version="1.0" encoding="UTF-8"?>
<!-- XML file created by biz-Stream Designer -->
<!-- biz-Stream Copyright BrainSellers.com Corp. -->
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:pdf="http://www.brainsellers.com/schema" xmlns:svg="http://www.brainsellers.com/schema" xmlns:bs="http://www.brainsellers.com/schema" xmlns:form="http://www.brainsellers.com/schema" version="5.0.0">
    <bs:document-properties-set>
        <bs:document-view initial-page="1" page-size="fit-in-window" disposition="two-column-left" menubar="true" toolbar="true" window-ui="true" thumbnail="false" full-screen="false" fit-window="false" center-window="false"/>

        <bs:document-security128 master-password="YnNhZG1pbg== " accessibility="not-allowed" content-copying="not-allowed" printing="not-allowed" changing="not-allowed">
        </bs:document-security128>
    </bs:document-properties-set>
    <bs:datasource-master-set>
    </bs:datasource-master-set>
    <fo:layout-master-set>
        <fo:simple-page-master master-name="A4V" page-height="297mm" page-width="210mm">
            <fo:region-body/>
            <fo:region-before extent="50mm"/>
            <fo:region-after extent="50mm"/>
            <fo:region-start extent="40mm"/>
            <fo:region-end extent="40mm"/>
        </fo:simple-page-master>
    </fo:layout-master-set>
    <fo:page-sequence master-reference="A4V" bs:local-page-control="none">
        <bs:page-javascript-set>
            <bs:page-javascript name="open" action="page-open">app.alert("page-open");</bs:page-javascript>
            <bs:page-javascript name="clone" action="page-close">app.alert("page-close");</bs:page-javascript>
        </bs:page-javascript-set>
        <fo:static-content flow-name="xsl-region-end">
            <bs:block-container>
                <bs:include href="${base-dir}/sample/xml/layout-master-set/layout-master-setSample-end.xml"/>

            </bs:block-container>
        </fo:static-content>
        <fo:static-content flow-name="xsl-region-start">
            <bs:block-container>
                <bs:include href="${base-dir}/sample/xml/layout-master-set/layout-master-setSample-start.xml"/>

            </bs:block-container>
        </fo:static-content>
        <fo:static-content flow-name="xsl-region-after">
            <bs:block-container>
                <bs:include href="${base-dir}/sample/xml/layout-master-set/layout-master-setSample-after.xml"/>

            </bs:block-container>
        </fo:static-content>
        <fo:static-content flow-name="xsl-region-before">
            <bs:block-container>
                <bs:include href="${base-dir}/sample/xml/layout-master-set/layout-master-setSample-before.xml"/>

            </bs:block-container>
        </fo:static-content>
        <fo:flow flow-name="xsl-region-body">
            <bs:block-container>
                <bs:include href="${base-dir}/sample/xml/layout-master-set/layout-master-setSample-body.xml"/>

            </bs:block-container>
        </fo:flow>
    </fo:page-sequence>
</fo:root>
   

生成されるPDF(『<biz-Stream_home>/sample/xml/layout-master-set/layout-master-setSample2.pdf』)


セキュリティ Acrobat5


bs:document-security128サンプル2

公開キーでセキュリティを設定するサンプルです。
この機能を使用して生成したPDFは、PDFバージョン1.4以降に対応するアプリケーション(Adobe Acrobat5以降など)でのみ利用可能です。


証明書をPDFに埋め込む場合は、製品DVD-ROMに同梱している/jre/jce_policy/のlocal_policy.jarとUS_export_policy.jarを、<JRE_HOME>/lib/security/以下の物と入れ替える必要があります。尚、同梱しているjce_policyのzipファイルはOracleのJDK/JRE用となります。お客様環境に合わせて対応バージョンのファイルを選択してください。

bs:document-security128サンプル2
<biz-Stream_home>/sample/xml/layout-master-set/layout-master-setSample3.xml』)

    <?xml version="1.0" encoding="UTF-8"?>
<!-- XML file created by biz-Stream Designer -->
<!-- biz-Stream Copyright BrainSellers.com Corp. -->
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:pdf="http://www.brainsellers.com/schema" xmlns:svg="http://www.brainsellers.com/schema" xmlns:bs="http://www.brainsellers.com/schema" xmlns:form="http://www.brainsellers.com/schema" version="5.0.0">
    <bs:document-properties-set>
        <bs:document-javascript-set>
            <bs:document-javascript name="open" action="open">app.alert("document-open");</bs:document-javascript>
            <bs:document-javascript name="closure" action="closure">app.alert("document-closure");</bs:document-javascript>
            <bs:document-javascript name="saving" action="saving">app.alert("document-saving");</bs:document-javascript>
            <bs:document-javascript name="saved" action="saved">app.alert("document-saved");</bs:document-javascript>
            <bs:document-javascript name="printing" action="printing">app.alert("document-printing");</bs:document-javascript>
            <bs:document-javascript name="printed" action="printed">app.alert("document-printed");</bs:document-javascript>
        </bs:document-javascript-set>
        <bs:document-summary title="タイトル" subject="サブタイトル" author="作成者" keywords="キーワード"/>

        <bs:document-view initial-page="1" page-size="fit-in-window" disposition="two-column-left" menubar="true" toolbar="true" window-ui="true" thumbnail="false" full-screen="false" fit-window="false" center-window="false"/>

        <bs:document-security128 accessibility="allowed" content-copying="not-allowed" printing="not-allowed" changing="not-allowed">
            <bs:security-recipients>
                <bs:user-recipient href="${base-dir}\sample\xml\layout-master-set\otherone.cer"/>

                <bs:full-recipient href="${base-dir}\sample\xml\layout-master-set\someone.cer"/>

            </bs:security-recipients>
        </bs:document-security128>
    </bs:document-properties-set>
    <bs:datasource-master-set>
    </bs:datasource-master-set>
    <fo:layout-master-set>
        <fo:simple-page-master master-name="A4V" page-height="297mm" page-width="210mm">
            <fo:region-body/>
            <fo:region-before extent="50mm"/>
            <fo:region-after extent="50mm"/>
            <fo:region-start extent="40mm"/>
            <fo:region-end extent="40mm"/>
        </fo:simple-page-master>
    </fo:layout-master-set>
    <fo:page-sequence master-reference="A4V" bs:local-page-control="none">
        <bs:page-javascript-set>
            <bs:page-javascript name="open" action="page-open">app.alert("page-open");</bs:page-javascript>
            <bs:page-javascript name="clone" action="page-close">app.alert("page-close");</bs:page-javascript>
        </bs:page-javascript-set>
        <fo:static-content flow-name="xsl-region-end">
            <bs:block-container>
                <bs:include href="${base-dir}/sample/xml/layout-master-setlayout-master-setSample-/end.xml"/>

            </bs:block-container>
        </fo:static-content>
        <fo:static-content flow-name="xsl-region-start">
            <bs:block-container>
                <bs:include href="${base-dir}/sample/xml/layout-master-set/layout-master-setSample-start.xml"/>

            </bs:block-container>
        </fo:static-content>
        <fo:static-content flow-name="xsl-region-after">
            <bs:block-container>
                <bs:include href="${base-dir}/sample/xml/layout-master-set/layout-master-setSample-after.xml"/>

            </bs:block-container>
        </fo:static-content>
        <fo:static-content flow-name="xsl-region-before">
            <bs:block-container>
                <bs:include href="${base-dir}/sample/xml/layout-master-set/layout-master-setSample-before.xml"/>

            </bs:block-container>
        </fo:static-content>
        <fo:flow flow-name="xsl-region-body">
            <bs:block-container>
                <bs:include href="${base-dir}/sample/xml/layout-master-set/layout-master-setSample-body.xml"/>

            </bs:block-container>
        </fo:flow>
    </fo:page-sequence>
</fo:root>
    

生成されるPDF(『<biz-Stream_home>/sample/xml/layout-master-set/layout-master-setSample3.pdf』)


ユーザ(otherone.cer)がPDFを開いた場合、文書に関する権限は以下のとおりです。

セキュリティ Acrobat5

フルユーザ(someone.cer)がPDFを開いた場合、文書に関する権限は以下のとおりです。

セキュリティ Acrobat5