XML 署名の作成

www.altova.com このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  ユーザーマニュアル > メニューコマンド > XML メニュー >

XML 署名の作成

XML 署名の作成コマンドはテキストボックス、グリッドビュー、スキーマビュー、WSDL ビュー、そして XBRL ビューで有効になり、アクティブな XML ドキュメントに対して XML 署名を作成することができます。このコマンドをクリックすることで、XML 署名の作成ダイアログが表示されます(以下のスクリーンショットを参照)。

SigCreatSigDlg01

 

確認方法: 証明書またはパスワード

署名は証明書またはパスワードにより行うことができます。使用するラジオボタンを選択してください。

 

認証 :証明書を使用する場合、アクセス可能な 証明書ストア 内に対応する秘密鍵が収められていなければなりません。署名はこの証明書の秘密鍵により生成されます。署名の検証を行うには、その証明書(または、その公開鍵)へアクセスする必要があります。証明書の公開鍵が署名の検証に使用されます。証明書を選択するには、「選択」ボタンをクリックし、証明書を指定します。証明書に関する詳細は、 証明書を使用するセクションを参照ください。
パスワード :5文字から16文字の長さのパスワードを入力してください。このパスワードは、署名の検証を行う際に必要になります。

 

変換

XML データ変換ならびに変換の結果が署名の作成に使用されます。署名の計算を行う前に、正規化アルゴリズムを XML データ(SignedInfo コンテンツ)のファイルへ適用することができます。以下にアルゴリズムの重要な特徴を記します:

 

(コメント付き) Canonical XML :署名の計算にコメントが含まれる場合、XML 内にあるコメントに対して変更が加えられることで検証が失敗するようになります。署名の計算にコメントを含まない場合、XML ドキュメント内にコメントを加えたり、既にあるコメントを修正しても、署名の検証結果に影響は与えません。
Base64 :XML ドキュメントのルート要素(またはドキュメント要素)が Base64 にエンコードされているものとして、バイナリからの読み込みを試みます。ルート要素が Base64 でエンコードされていない場合、要素の種類によりエラーが返されるか、要素は空として認識されます。
無し :変換を行うことはなく、ディスクに保存されているバイナリファイルから得られた XML データが署名の作成に直接使用されます。署名作成後にデータの編集が行われると、署名の検証が失敗するようになります。空白スペースを取り去る チェックボックスが有効になっている場合、全ての空白スペースが取り去られるため、空白スペースに対する変更は無視されます。無し オプションと Canonical オプションの違いは、正規化により XML データストリームが生成され、属性の順序などが正規化されるというものです。結果として正規化による変換を行った際には属性の順序といった変更が正規化され(つまり検証には成功し)、変換を伴わない場合、それらの変更が反映されることになります(つまり検証は失敗します)。

 

署名の保管

署名は XML ファイル内部に配置することができるほか、独立したファイルとしても作成することができます。以下のオプションが利用可能です:

 

Enveloped :署名要素がルート要素(ドキュメント要素)最後の子要素として作成されます。
Enveloping :署名要素がルート要素(ドキュメント要素)として作成され、XML ドキュメントが子要素として挿入されます。
Detached :XML 署名が独立したファイルとして作成されます。この場合、署名ファイルのファイル拡張子を指定することができるほか、(i) XML ファイルに拡張子を追加するかたちで(例: test.xml.xsig)、または (ii) XML ファイルの XML 拡張子を置換ることで(例: test.xsig)ファイル拡張子の形式を指定することができます。署名ファイルにおける XML ファイルへのリファレンスを相対または絶対パスで行うか指定することもできます。

 

メモ:XML スキーマ (.xsd) や XBRL ファイルに対しては、外部署名ファイルとしてしか XML 署名を作成することはできません。WSDL ファイルの場合、署名ファイルを外部ファイルとして作成し、WSDL ファイル内に含めることができます ("enveloped")。

 

メモ:XML 署名が独立したファイルとして作成された場合、署名ファイルにあるリファレンスにより XML ファイルと署名ファイルの関連付けが行われます。従って署名の検証を行う際には、署名ファイルがアクティブになっている状態で行う必要があります(XML ファイルがアクティブになっている状態で行うことはできません)。

 

鍵情報を追加

鍵情報を追加 オプションは、証明書をベースに署名を作成する際に有効になるオプションで、パスワードによる署名では無効になっています。

 

このオプションが有効になっている場合、公開鍵情報が署名内部に配置されます。オプションが選択されていない場合、鍵情報が署名に加えられることはありません。鍵情報を追加することで、検証を行う際に、証明書そのもの(証明書内部にある公開鍵情報)が必要なくなります(公開鍵情報が既に署名に含まれているため)。

 


(C) 2019 Altova GmbH