WebSphere Application Server Version 6.1 Feature Pack for Web Services   
             オペレーティング・システム: AIX , HP-UX, i5/OS, Linux, Solaris, Windows, Windows Vista, z/OS

             目次と検索結果のパーソナライズ化
             New or updated topic for this feature pack

WSSSignature API を使用したデジタル署名方式

WSS API を使用して、ジェネレーター・バインディングの署名情報を構成できます。 要求署名用クライアントを構成するには、デジタル署名方式を選択します。 このアルゴリズム方式にはシグニチャー方式と正規化方式が含まれます。

ジェネレーターの署名情報を構成して、SOAP メッセージにデジタル署名することで、メッセージの保全性を保護する必要があります。 機密性が暗号化を意味するのに対して、「保全性」はデジタル・シグニチャーを意味します。 保全性によって、データがネットワーク内を伝送されている間に変更されるリスクが減少します。

デジタル署名するメッセージ・パーツを指定したら、次に、 そのメッセージのデジタル署名に使用するメソッドを指定する必要があります。

方式

署名情報で使用する方式には以下のようなものがあります。
シグニチャー方式
シグニチャー・アルゴリズム方式を設定します。
正規化方式
正規化アルゴリズム方式を設定します。

シグニチャー・アルゴリズム

シグニチャー・アルゴリズムは、証明書の署名に使用するアルゴリズムを指定します。 このシグニチャー・アルゴリズムは、シグニチャー方式のアルゴリズム Uniform Resource Identifier (URI) を指定します。 WebSphere Application Server は、以下の事前構成アルゴリズムをサポートします。

表 1. シグニチャー・アルゴリズム
アルゴリズム 説明
WSSSignature.HMAC_SHA1 シグニチャー・アルゴリズム HMAC の URI: http://www.w3.org/2000/09/xmldsig#hmac-sha1
WSSSignature.RSA_SHA1 (デフォルト値) シグニチャー・アルゴリズム RSA の URI: http://www.w3.org/2000/09/xmldsig#rsa-sha1

WSS API の場合、WebSphere Application Server は DSA-SHA1 アルゴリズム (http://www.w3.org/2000/09/xmldsig#dsa-sha1) をサポートしていません。

要求ジェネレーターの構成用に指定されている署名アルゴリズムは、要求コンシューマー用に指定されているアルゴリズムと一致している必要があります。

正規化アルゴリズム

正規化アルゴリズムは、正規化方式の Uniform Resource Identifier (URI) を指定します。 WebSphere Application Server は、以下の事前構成アルゴリズムをサポートします。

表 2. シグニチャー正規化アルゴリズム
アルゴリズム 説明
WSSSignature.EXC_C14N (デフォルト値) 排他的正規化アルゴリズム EXC_C14N の URI: http://www.w3.org/2001/10/xml-exc-c14n#
WSSSignature.C14N 包括的正規化アルゴリズム C14N の URI: http://www.w3.org/2001/10/xml-c14n#

要求ジェネレーターの構成用に指定されている正規化アルゴリズムは、要求コンシューマー用に指定されているアルゴリズムと一致している必要があります。

以下の例は、シグニチャー方式として HMAC_SHA1、正規化方式として C14n を指定した WSS API のサンプル・コードです。

	  //generate WSSFactory instance 
	  WSSFactory factory = WSSFactory.getInstance();		
	  	  
	  //generate WSSGenerationContext instance 
	  WSSGenerationContext gencont = factory.newWSSGenerationContext();
		
	  //generate callback handler
	  X509GenerateCallbackHandler callbackHandler = new X509GenerateCallbackHandler(
			  "",
			  "dsig-sender.ks",
			  "jks", 
			  "client".toCharArray(), 
			  "soaprequester", 
			  "client".toCharArray(), 
			  "CN=SOAPRequester, OU=TRL, O=IBM, ST=Kanagawa, C=JP", 
null);
	  
	  //generate the security token used to the signature
	  SecurityToken token = factory.newSecurityToken(X509Token.class, callbackHandler);

	  //generate WSSSignature instance
	  WSSSignature sig = factory.newWSSSignature(token);
	  
	  //set the canonicalization method 
	  // DEFAULT: WSSSignature.EXC_C14N
	  sig.setCanonicalizationMethod(WSSSignature.C14N);
	  
	  //set the signature method  
	  // DEFAULT: WSSSignature.RSA_SHA1
	  sig.setSignatureMethod(WSSSignature.HMAC_SHA1);
	  
	  //add the WSSSignature to the WSSGenerationContext 
	  gencont.add(sig);
		
	  //generate the WS-Security header 
	  gencont.process(msgcontext);



関連タスク
WSSSignPart API を使用した署名済みパーツの追加
WSS API を使用してメッセージの保全性を保護するための、 ジェネレーター署名情報の構成
関連資料
WSSSignPart API を使用した署名済みパーツ方式
WSSVerifyPart API を使用した検査パーツ方式の選択
WSSVerification API を使用したシグニチャー検査方式
参照トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 4:10:06 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.wsfep.multiplatform.doc/info/ae/ae/rwbs_wsssignalgorithms.html