Hitachi

Cosminexus V11 アプリケーションサーバ Cosminexus XML Processor ユーザーズガイド


3.8.4 機能の使用方法

〈この項の構成〉

(1) 制限値の変更

セキュアプロセッシング機能の制限値を変更するには次の方法があります。
  • Cosminexus XML Processorが独自に規定するシステムプロパティを指定する。

  • Cosminexus XML Processorが独自に規定するプロパティを指定する。

システムプロパティと各APIのプロパティ指定が同時に指定された場合,各APIのプロパティの指定を優先します。

提供するシステムプロパティの一覧を次の表に示します。

表3‒19 提供するシステムプロパティ一覧

項番

システムプロパティ名

内容

指定可能値※1

デフォルト値

1

com.cosminexus.jaxp.secure_processing.entityExpansionLimit

エンティティ参照の展開回数

0〜2147483647

100000

2

com.cosminexus.jaxp.secure_processing.maxGeneralEntitySizeLimit

一般エンティティの文字列長

0〜2147483647

0

3

com.cosminexus.jaxp.secure_processing.maxParameterEntitySizeLimit

パラメータエンティティの文字列長

0〜2147483647

1000000

4

com.cosminexus.jaxp.secure_processing.totalEntitySizeLimit

エンティティの展開後の実体文字列長の合計

0〜2147483647

50000000

5

com.cosminexus.jaxp.secure_processing.entityReplacementLimit

エンティティによって置き換えられる文字列や参照されるファイルにあるノード数

0〜2147483647

3000000

6

com.cosminexus.jaxp.secure_processing.maxOccurLimit

内容モデルのノード数

0〜2147483647

3000

7

com.cosminexus.jaxp.secure_processing.maxXMLNameLimit

XML名の文字列長

0〜2147483647

1000

8

com.cosminexus.jaxp.secure_processing.xpathExprGrpLimit※2

XPath式に含まれるグループの数

0〜2147483647

10

9

com.cosminexus.jaxp.secure_processing.xpathExprOpLimit※2

XPath式に含まれる演算子の数

0〜2147483647

100

10

com.cosminexus.jaxp.secure_processing.xpathTotalOpLimit※2

XPath式に含まれる演算子の総数

0〜2147483647

10000

注※1

値に0が指定された場合,制限値によるエラーチェックはされません。

指定できる値以外の値が指定された場合デフォルト値が設定されます。

注※2

デフォルト値より小さい値(0を除く)を指定するとCosminexus製品で制限に該当してエラーが発生するおそれがあるため,デフォルト値より小さい値を設定することは推奨しません。

提供するプロパティの一覧を次の表に示します。プロパティ値で指定できる値は次の表を参照してください。

不正な値を指定した場合,値を設定しません。したがって設定前の値のままとなります。

表3‒20 提供するプロパティ一覧

項番

プロパティ名

内容

1

http://cosminexus.com/xml/properties/entityExpansionLimit

エンティティ参照の展開回数

2

http://cosminexus.com/xml/properties/maxGeneralEntitySizeLimit

一般エンティティの文字列長

3

http://cosminexus.com/xml/properties/maxParameterEntitySizeLimit

パラメータエンティティの文字列長

4

http://cosminexus.com/xml/properties/totalEntitySizeLimit

エンティティの展開後の実体文字列長の合計

5

http://cosminexus.com/xml/properties/entityReplacementLimit

エンティティによって置き換えられる文字列や参照されるファイルにあるノード数

6

http://cosminexus.com/xml/properties/maxOccurLimit

内容モデルのノード数

7

http://cosminexus.com/xml/properties/maxXMLNameLimit

XML名の文字列長

8

http://cosminexus.com/xml/properties/xpathExprGrpLimit

XPath式に含まれるグループの数

9

http://cosminexus.com/xml/properties/xpathExprOpLimit

XPath式に含まれる演算子の数

10

http://cosminexus.com/xml/properties/xpathTotalOpLimit

XPath式に含まれる演算子の総数

制限値を設定する場合に表3-20のプロパティを設定するメソッドの一覧を次の表に示します。

プロパティを設定する場合,セキュアプロセッシング機能を有効にしてから設定してください。

表3‒21 制限値を設定するプロパティの設定メソッド

項番

クラス名・インタフェース名

メソッド

1

javax.xml.parsers.DocumentBuilderFactory

setAttribute

2

javax.xml.parsers.SAXParser

setProperty

3

org.xml.sax.XMLReader

setProperty

4

javax.xml.transform.TransformerFactory

setAttribute

5

javax.xml.validation.SchemaFactory

setProperty

com.cosminexus.jaxp.preparsedxml.PreparsedObjectFactoryではプロパティでの設定はできません。したがってシステムプロパティで設定する必要があります。

(2) 互換用システムプロパティ

この機能をサポートする以前と同様の動作にする必要性を考慮し,互換用システムプロパティを提供します。提供するプロパティの仕様を次の表に示します。このシステムプロパティと各APIのフィーチャー指定が同時にされた場合,各APIのフィーチャーの指定を優先します。

表3‒22 互換システムプロパティ

システムプロパティ名

内容

com.cosminexus.jaxp.secure_processing.compatible

09-50-04以降のデフォルト値を使用する。(表3-14参照)

false(デフォルト)

09-50-03以前のデフォルト値を使用する。

true

注※

小文字の"true"以外の値は,すべて"false"を指定したものとして扱います。