5.3.1 URI参照解決

XML署名構文のReference要素などにあるURI属性には,署名対象となるデータの所在を記述することで,そのデータを参照できるようになります。URI参照解決とは,このURIに基づいてデータを取得することを指しています。

URI参照には,同一文書内での参照と外部リソースへの参照の2種類があります。同一文書内でのURI参照では,同じXML文書内の別の要素を参照します。外部リソースへのURI参照では,署名文書または暗号文書とは別の,外部にあるファイルを参照します。Cosminexus XML Security - CoreがデフォルトでサポートしているURI参照解決とURI属性値の関係を次の表に示します。

表5-1  デフォルトでサポートしているURI参照解決の一覧

種別URI属性値URI参照解決
同一文書内""(空文字列)URI属性を含むXML文書全体。コメントは含まない。
"#ID"URI属性を含むXML文書のID属性値がIDである要素以下のサブツリー。コメントは含まない。
"#xpointer(/)"URI属性を含むXML文書全体。コメントを含む。
"#xpointer(id('ID'))"URI属性を含むXML文書のID属性値がIDである要素以下のサブツリー。コメントを含む。
外部リソース"http:"で始まる絶対URI指定されたURIをHTTPスキームによって開いた結果。
"file:"で始まる絶対URI指定されたURIでローカルファイルを開いた結果。
相対URIコンテキストとして与えるベースURIを用いて絶対URIに変換して参照解決を実行する。

Cosminexus XML Security - Coreは,表5-1のURI参照解決を提供していますが,次のような場合は,URI参照解決をカスタマイズする必要があります。

URI参照解決のカスタマイズの詳細については,次に格納されているAPIリファレンスのResourceResolverインタフェースを参照してください。

APIリファレンスの格納場所(Windowsの場合だけ)
Cosminexusのインストール先ディレクトリ/XMLSEC/docs/xsecapi