Interstage Application Server セキュリティシステム運用ガイド
|
目次
索引

|
19.3.1.3 XML暗号による暗号化の設定
XML暗号による暗号化の設定をするには、Webサービス情報編集ツールを使用します。
以下にサーバシステム環境で表示される詳細情報を表示した画面を示します。
なおここでは、リモート呼び出しのサーバアプリケーションの画面を例に説明します。

- Webサービス識別名
Webサービスの識別名を入力します。
Webサービス識別名の指定方法については、“SOAPサービス ユーザーズガイド”の“Webサービス情報の管理”の“Webサービス識別名とURL”を参照してください。
- 処理済HeaderElement:削除しない
リクエスト / レスポンスメッセージを受信後、処理を完了したSOAPヘッダ要素を削除するかどうかを設定します。
デフォルトは“削除しない”です。
- [サーバ機能] レスポンス送信設定:暗号化ID
- [クライアント機能] リクエスト送信設定:暗号化ID
SOAPメッセージのリクエスト/レスポンス送信時の暗号化の設定をします。設定方法は、“暗号化しない”もしくはXML暗号による暗号化で使用するサイト証明書の別名を選択します。
デフォルト値は“暗号化しない”です。
- [サーバ機能] レスポンス送信設定:“詳細”ボタン
- [クライアント機能] リクエスト送信設定:“詳細”ボタン
暗号設定の“詳細”/“標準”切り替えを行うボタンです。
上図は、“詳細”ボタンを押下した状態です。
- 暗号化対象(省略可能)
暗号化の対象を指定します。
暗号化対象の要素にID型の属性が付いている場合や添付ファイル(Attachmentデータ)を暗号化する場合、"URI/ID"を選択して暗号化対象を記述します。
XPathを使用して暗号化対象を指定する場合、"XPath"または"XPath(Content)"を選択して暗号化対象を記述します。
暗号化対象の指定方法については、“暗号化対象の指定方法”を参照してください。
- 暗号化対象:XPath
暗号化対象の指定方式を設定します。設定方法は"XPath","XPath(Content)","URI/ID"の3択です。デフォルト値は"XPath"です。
- [サーバ機能] リクエスト送信設定:宛先role(actor)名指定
- [クライアント機能] レスポンス送信設定:宛先role(actor)名指定
SOAPメッセージの中継者(intermediary)に何らかの処理を行わせたい場合に、中継者のURIを指定します。省略した場合には、SOAPメッセージの最終到達者(ultimate destination)に対する振る舞いを指定していることになります。
- [サーバ機能] リクエスト送信設定:mustUnderstand
- [クライアント機能] レスポンス送信設定:mustUnderstand
SOAPメッセージの受信者がヘッダ中の要素を必ず処理しなければならないのか、選択可能であるのかを指定します。
デフォルトは“処理を行う必要なし”です。

- Webサービス情報編集ツールでXML暗号による暗号化機能を有効にすると、設定した内容に基づき送信するSOAPメッセージに対して自動的にXML暗号による暗号化を行います。
- 暗号化の対象を省略した場合、SOAPメッセージ内のSOAPボディ要素の内容を暗号化します。
- XML暗号による暗号化については、soapsecencconfコマンドを使用しても設定可能です。soapsecencconfコマンドについては、「リファレンスマニュアル(コマンド編)」を参照してください。
■暗号化対象の指定方法
XML暗号による暗号化では、以下の2種類を暗号化対象とすることが可能です。
- SOAPエンベロープ内部の任意のノード(ただしSOAPエンベロープ、SOAPボディ、SOAPヘッダは除く)
- Attachmentデータ
●IDによる暗号化対象の指定
IDによる暗号化対象の指定方法は、IDによるSOAP電子署名の指定方法と同じです。指定方法については、“署名対象の指定方法”を参照してください。
●XPathによる暗号化対象の指定
IDにより暗号化対象を指定できない場合、XPathを用いて暗号化対象を指定可能です。XPathを用いて暗号化対象を指定する場合、Webサービス情報編集ツールの暗号化対象の種別を"XPath"または"XPath(Content)"を指定する必要があります。
暗号化対象の種別として"XPath"を指定した場合、XPathで指定した要素が暗号化対象となります。一方で、暗号化対象の種別として"XPath(Content)"を指定した場合、指定した要素の内容が暗号化されます。
なお、XPath式を評価する場合の起点ノードはSOAPエンベロープ要素となります。

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<m:ResponseBody xmlns:m="urn:SampleMsg">
<Response>response string...</Response>
</m:ResponseBody>
</soapenv:Body>
</soapenv:Envelope> |
- descendant::Response
SOAPエンベロープの子孫(descendant)であるResponse要素を指定します。暗号化の種別として"XPath"を指定した場合にはResponse要素が、"XPath(Content)"を指定した場合にはResponse要素の内容である"response string..."文字列が暗号化されます。
- child::*[local-name()='Body']
SOAPエンベロープの子 (child)であるsoapenv:Body要素を指定します。暗号化の種別として"XPath(Content)"を指定した場合には、soapenv:Body要素の内容であるm:ResponseBody要素が暗号化されます。SOAPボディ要素そのものを暗号化することはできないため、"XPath"を指定すると、実行時にエラーが発生します。
- descendant::*[local-name()='ResponseBody' and namespace-uri()='urn:SampleMsg'][1]
SOAPエンベロープの子孫(descendant)である1番目のm:ResponseBody要素を指定します。暗号化の種別として"XPath"を指定した場合にはm:ResponseBody要素が、"XPath(Content)"を指定した場合にはm:ResponseBody要素の内容であるResponse要素が暗号化されます。
●Content-Idによる暗号化対象の指定
Content-Idによる暗号化対象の指定方法は、Content-IdによるSOAP電子署名の指定方法と同じです。指定方法については、“署名対象の指定方法”を参照してください。
All Rights Reserved, Copyright(C) 富士通株式会社 2005