Cosminexus XML Security - Core ユーザーズガイド

[目次][用語][索引][前へ][次へ]

3.3.6 デバッグダンプ機能

意図した対象を正しく署名/署名検証もしくは暗号/復号しているかを確認するために署名/署名検証および暗号/復号処理時に使用される中間データを出力することができます。ここでは,デバッグダンプ機能について説明します。

注意
本機能を使用すると,サイズの大きなファイル もしくは,多量のファイルを出力する可能性があります。本機能をデバッグ目的以外に使用しないでください。運用時に中間データを取得したい場合については,APIリファレンスXMLSecurityContextクラスSignedInfoインタフェース,およびReferenceインタフェースを参照してください。

APIリファレンスの格納場所(Windowsの場合のみ)
Cosminexusのインストール先ディレクトリ/XMLSEC/docs/xsecapi
<この項の構成>
(1) 出力内容
(2) 出力単位
(3) デバックダンプ出力設定方法と出力先
(4) ファイル名

(1) 出力内容

ヘッダ情報
ダンプされるデータには,中間データに関する情報を含むヘッダが付加されて出力されます。ヘッダ情報には,ダンプ対象を表す文字列,時刻,およびスレッドIDを含みます。ヘッダDecriptionに出力される内容の詳細については表3-4を参照してください。

表3-3 ヘッダの種類

ヘッダ名 出力内容 備考
1 Description ダンプ対象を表す文字列 中間データによって出力される内容が異なる。
2 Timestamp 処理時刻 yyyy/mm/dd hh:mm:ss.sss形式
3 Thread-Id スレッドID  

図3-6 ヘッダの出力例(Transformへの出力情報時)

 
 
------------------------------------------------
Description: dereferenced data: URI=””
Timestamp: 2004/08/31 12:04:06.255
Thread-Id: 000c62c8
 

中間データの情報
出力される中間データで得られる情報について次の表に示します。

表3-4 出力される中間データの情報

出力される情報の種類 出力される処理 ヘッダDescripitionの出力内容 出力される中間データ
1 Transformへの入力情報 署名,署名検証,復号 dereferenced data: URI=<URI> 変換処理対象のデータ
2 Digestへの入力情報 署名,署名検証 digest input: URI=<URI> ダイジェスト値計算対象のデータ
3 署名/検証計算への入力情報 署名,署名検証 canonicalized SignedInfo 署名/検証計算対象データ
4 暗号化処理への入力情報 暗号 encrypt input 暗号化処理対象データ
5 復号化処理への入力情報 復号 decrypt input 復号化処理対象データ

注※
暗号データがCipherReferenceに指定されている場合のみ

注意
デバッグダンプ機能によって出力される中間データは,全てバイナリデータです。中間データに漢字コードや改行コードなどが含まれる場合,テキストエディタでは正しく表示されない場合があります。ダンプされるデータがノードセットである場合,Inclusive XML Canonicalization処理された結果が出力されます。ただし,コメントは含まれません。ノードセットおよびInclusive XML Canonicalization処理の詳細については,W3Cのホームページを参照してください。

(2) 出力単位

デバックダンプ出力の単位は,一処理につき一出力とします。
例1:1つのXML文章に1つのXML署名を行う場合⇒ダンプ出力は1回。
例2:1つのXML文章に2つのXML署名を行う場合⇒ダンプ出力は2回。

(3) デバックダンプ出力設定方法と出力先

システムプロパティの設定内容

設定値
デバックダンプ機能の設定項目とデフォルト値を次の表に示します。

表3-5 デバックダンプの設定項目に設定する値

設定項目 プロパティ名 デフォルト値
デバックダンプ出力設定 com.cosminexus.xml.security.debug.dump 設定なし
出力先フォルダ com.cosminexus.xml.security.debug.dumpdir 設定なし

システムプロパティの設定方法
システムプロパティの設定は,javaコマンドの-Dオプションを利用します。次にC:\Program Files\HITACHI\Cosminexus\XMLSEC\logsにダンプ出力を行う例を以下に示します。

図3-7 システムプロパティの設定例(-Dオプションを利用する場合)

 
 
java -Dcom.cosminexus.xml.security.debug.dump=true -Dcom.cosminexus.xml.security.debug.dumpdir=C:\Program Files\HITACHI\Cosminexus\XMLSEC\logs YourApplicationClass
 

J2EEサーバまたはWebコンテナサーバのCosminexus Component ContainerでCosminexus XML Security - Coreを使用する場合は,Cosminexus Component Containerのユーザー定義ファイル(usrconf.properties)にシステムプロパティを記述します。ユーザー定義ファイルはjava.util.Properties形式で記述する必要があります。そのため,パスに「\」記号や空白文字が含まれる場合は,「\\」としたり,空白の前に「\」記号を追加したりして,エスケープする必要があります。また,java.util.Properties形式の場合は日本語を直接指定できないので,ディレクトリ名などで日本語を使用している場合は,注意してください。ユーザー定義ファイルにシステムプロパティを記述する場合の例を次に示します。

図3-8 システムプロパティの設定例(ユーザー定義ファイルに記述する場合)

 
 
com.cosminexus.xml.security.debug.dump=true
com.cosminexus.xml.security.debug.dumpdir=C:\\Program\ Files\\Hitachi\\Cosminexus\\XMLSEC\\logs
 

Cosminexus Component Containerのユーザー定義ファイルの設定方法については,マニュアル「Cosminexus リファレンス 定義編」を参照してください。

(4) ファイル名

ダンプ出力時にディレクトリを指定された際に出力されるファイルの名前は,プレフィックスcsmxsecに実行された処理,スレッドID,および時刻を合わせたものになります。

 
csmxsec_{処理名}_スレッドID_yyyymmddhhmmsssss.dmp
 

表3-6 ファイル名に付加される処理名

# 処理 処理名
1 署名 sig
2 署名検証 ver
3 暗号 enc
4 復号 dec

例:実行された処理が署名,スレッドIDが01b3f8f6,及び実行された時間が2004年10月1日12:00:12345の場合のファイル名。

csmxsec_sig_01b3f8f6_20041001120012345.dmp