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

第5部 Webサービス(SOAP)のセキュリティ> 第19章 ユーザ認証、SOAP電子署名、XML暗号を使用する方法> 19.2 SOAP電子署名の設定> 19.2.1 SOAPメッセージに対するSOAP電子署名の付加

19.2.1.1 SOAP電子署名を付加するアプリケーションの実装

 SOAP電子署名を付加するアプリケーションの実装は、Webサービス情報の変更で行います。アプリケーション・プログラムの変更はありません。
 ただし、Messaging方式のアプリケーションの場合は、SOAP電子署名の署名対象となる要素にID型の属性を追加することで、署名対象の設定を簡易的に行うことが可能になります。
 原本保証機能(SOAP電子署名、XML暗号)では、以下の属性をID型の属性とみなします。

 名前空間URI:http://schemas.xmlsoap.org/ws/2002/07/utility
 ローカル名:"Id"

 SAAJ-APIを使用して、SOAPBodyに"body"という値のID型の属性を追加する例を以下に示します。

   .....
 String prefix = "wsu";
 String uri = "http://schemas.xmlsoap.org/ws/2002/07/utility";
 SOAPEnvelope env = ...;
 SOAPBody body = env.getBody();
 body.addNamespaceDeclaration(prefix, uri);
 body.addAttribute(env.createName("Id", prefix, uri), "body");
   .....

 また、添付ファイル(Attachmentデータ)をSOAP電子署名の署名対象とする場合、添付ファイルにMIMEヘッダ"Content-Id"を追加する必要があります。

 以下に、Attachmentデータに"sample.jpg"という値を持つMIMEヘッダ"Content-Id"を追加する例を示します。

 import javax.xml.soap.*;
    .....
  AttachmentPart _ap = ...;
  _ap.setContentType("image/jpeg");
  _ap.setContentId("sample.jpg");
    .....

目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005