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);

トピックのタイプを示すアイコン 参照トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rwbs_wsssignalgorithms
ファイル名:rwbs_wsssignalgorithms.html