Interstage Application Server セキュリティシステム運用ガイド |
目次
索引
![]() ![]() |
第5部 Webサービス(SOAP)のセキュリティ | > 第19章 ユーザ認証、SOAP電子署名、XML暗号を使用する方法 | > 19.2 SOAP電子署名の設定 | > 19.2.1 SOAPメッセージに対するSOAP電子署名の付加 |
SOAP電子署名付加の設定をするには、Webサービス情報編集ツールを使用します。
以下にサーバシステム環境で表示される詳細情報を表示した画面を示します。
なおここでは、RPCアプリケーションの画面を例に説明します。
SOAP電子署名では、以下の2種類を署名対象とすることが可能です。
SAAJ-APIを使用してSOAPメッセージを付加した場合、署名対象となる要素にID型の属性を追加しておくことが可能です。SOAP電子署名では、以下の属性をID型とみなします。
名前空間URI:http://schemas.xmlsoap.org/ws/2002/07/utility |
ID型の属性を持つ要素を署名対象とする場合、署名対象を"#"(シャープ文字)の後ろにID型の属性値を指定します。
<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 xmlns:wsu="http:// schemas.xmlsoap.org/ws/2002/07/utility" wsu:Id="body"> <m:ResponseBody xmlns:m="urn:SampleMsg"> <Response>response string...</Response> </m:ResponseBody> </soapenv:Body> </soapenv:Envelope> |
上記SOAPメッセージに対して署名対象として"#body"を指定すると、<soapenv:Body>およびその内容が署名対象となります。
XPath指定の場合、SOAPエンベロープ内すべてのノードに対してXPath式を評価した結果が真となるノードが署名対象となります。
SOAPボディのみをSOAP電子署名の署名対象とする場合には、以下のように指定します。
ancestor::soapenv:Body |
ここで、"soapenv"はSOAPBodyの名前空間プレフィックスを表します。プレフィックスを変更した場合、XPathで指定する場合にもその値を指定する必要があります。
"urn:sample"という名前空間URIと"localName"という名前を持つ要素をSOAP電子署名の署名対象とする場合、以下のように指定します。
ancestor-or-self::*[local-name()='localName' and namespace-uri()='urn:sample'] |
SOAPメッセージに含まれる添付ファイル(Attachmentデータ)をSOAP電子署名の署名対象とする場合、署名対象として、"cid:"の後ろにMIMEヘッダ"Content-Id"の値を続けた文字列で指定します。
目次
索引
![]() ![]() |