Cosminexus V9 アプリケーションサーバ Cosminexus XML Security - Core ユーザーズガイド
XML署名には,署名対象となる文書のダイジェスト値のほかに,アルゴリズムや鍵情報などの要素が含まれています。この節では,XML署名にどのような要素が含まれているのか,XML署名の構文について説明します。
XML署名の構文を次の図に示します。なお,次の図では「?」は0回または1回,「+」は1回以上,「*」は0回以上の繰り返しを表します。
図2-4 XML署名の構文の概要
まず,必須の要素について説明します。
- 署名要素
XML署名のルート要素です。
- 署名情報要素
実際に署名の対象となる情報です。署名値要素を求める場合に使用されるアルゴリズムが含まれています。
- 正規化アルゴリズム要素
署名値を計算する前に,署名情報要素を正規化するアルゴリズムです。内容が同じXML文書でも,表現方法が異なる場合がありますが,正規化を実施することによって,表現方法が統一されます。
- 署名アルゴリズム要素
正規化された署名情報要素から署名値要素を求めるアルゴリズムです。署名情報要素の署名値を計算します。
- 参照要素
ダイジェストアルゴリズム要素およびダイジェスト値要素を含みます。また,変換処理要素を含む場合もあります。
- ダイジェストアルゴリズム要素
署名対象(参照要素から参照するデータを変換処理した結果)のダイジェスト値を計算するアルゴリズムです。変換が完了した署名対象のダイジェスト値を計算します。
- ダイジェスト値要素
署名対象(参照要素から参照するデータを変換処理した結果)のダイジェスト値の情報です。署名対象の文書に対する署名は,ダイジェスト値と,そのダイジェスト値を含む署名情報要素を計算することで生成されます。
- 署名値要素
署名情報要素の値から計算された値です。署名値要素は,必ず署名情報要素の外側に置きます。
次に,任意の要素について説明します。
- 変換処理要素
ダイジェスト計算の入力データを生成します。例えば,署名要素自身を署名対象から外す場合は,Enveloped Signature変換を使用します。
- 鍵情報要素
署名の検証に必要な鍵を示す要素です。証明書や鍵の名称などが含まれます。これらの情報を第三者に公開したくない場合は,鍵情報要素は省略できます。
- オブジェクト要素
任意のデータを格納してよい要素です。例えば,Enveloping署名で署名対象のデータを格納する場合に使用します。
All Rights Reserved. Copyright (C) 2012, 2015, Hitachi, Ltd.