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

WSSSignPart API を使用した署名済みパーツ方式

WSS API を使用して、ジェネレーター・バインディングの署名済みパーツ情報を構成できます。 このアルゴリズムにはダイジェスト方式と変換方式が含まれます。

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

方式

署名済みパーツで使用する方式には以下のようなものがあります。
ダイジェスト方式
ダイジェスト・アルゴリズム方式を設定します。
変換アルゴリズム
変換アルゴリズム方式を設定します。

ダイジェスト・アルゴリズム

エレメント内で指定されたダイジェスト方式アルゴリズムが、そのエレメント内で使用されます。 WebSphere Application Server は、以下の事前構成アルゴリズムをサポートします。

表 1. 署名済みパーツ・ダイジェスト方式
ダイジェスト方式 説明
WSSSignPart.SHA1 (デフォルト値) ダイジェスト・アルゴリズム SHA1 の URI: http://www.w3.org/2000/09/xmldsig#sha1
WSSSignPart.SHA256 ダイジェスト・アルゴリズム SHA256 の URI: http://www.w3.org/2001/04/xmlenc#sha256
WSSSignPart.SHA512 ダイジェスト・アルゴリズム SHA256 の URI: http://www.w3.org/2001/04/xmlenc#sha512

変換アルゴリズム

エレメント内で指定された変換方式アルゴリズムが、そのエレメント内で使用されます。 WebSphere Application Server は、以下の事前構成アルゴリズムをサポートします。

表 2. 署名済みパーツ変換方式
ダイジェスト方式 説明
WSSSignPart.TRANSFORM_ENVELOPED_SIGNATURE 変換アルゴリズム enveloped signature の URI: http://www.w3.org/2000/09/xmldsig#enveloped-signature
WSSSignPart.TRANSFORM_STRT10 変換アルゴリズム STR-Transform の URI: http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform
WSSSignPart.TRANSFORM_EXC_C14N (デフォルト値) 変換アルゴリズム Exc-C14N の URI: http://www.w3.org/2001/10/xml-exc-c14n#
WSSSignPart.TRANSFORM_XPATH2_FILTER 変換アルゴリズム XPath2 フィルターの URI: http://www.w3.org/2002/06/xmldsig-filter2

変換アルゴリズムは、<Transform> エレメント内で指定され、署名済みパーツの変換アルゴリズムを指定します。

WSS API の場合、WebSphere Application Server は 以下の変換アルゴリズムをサポートしていません。
  • http://www.w3.org/TR/1999/REC-xpath-19991116
  • http://www.w3.org/2002/07/decrypt#XML

以下の例では、シグニチャーと署名済みパーツを指定し、署名鍵の設定を行い、署名済みパーツとして STR-Transform 変換アルゴリズムを追加する場合の WSS API コードのサンプルを示しています。

	  //get the message context
	  Object msgcontext = getMessageContext();
	  
	  //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 part specified by WSSSignPart  
	  WSSSignPart sigPart = factory.newWSSSignPart();

	  //set the part specified by WSSSignPart
	  sigPart.setSignPart(WSSSignature.BODY);

	  //set the digest method specified by WSSSignPart 
	  sigPart.setDigestMethod(WSSSignPart.SHA256);

	  //set the transform method specified by WSSSignPart  
	  sigPart.addTransform(WSSSignPart.TRANSFORM_STRT10);

	  //set the part specified by WSSSignPart 
	  sig.addSignPart(sigPart);
	  
	  //add the WSSSignature to the WSSGenerationContext  
	  gencont.add(sig);
		
	  //generate the WS-Security header  
	  gencont.process(msgcontext);



関連タスク
WSSSignPart API を使用した署名済みパーツの追加
WSS API を使用してメッセージの保全性を保護するための コンシューマー署名情報の検証
関連資料
WSSSignature API を使用したデジタル署名方式
WSSVerification API を使用したシグニチャー検査方式
WSSVerifyPart 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_wsssignpartalgorithms.html