WSSSignature API를 사용한 디지털 서명 메소드

WSS API를 사용하여 생성기 바인딩에 대한 서명 정보를 구성할 수 있습니다. 요청 서명을 위한 클라이언트를 구성하려면 디지털 서명 메소드를 선택하십시오. 알고리즘 메소드에는 서명 및 정규화 메소드가 포함됩니다.

SOAP 메시지를 디지털로 서명하여 메시지 무결성을 보호하려면 생성기 서명 정보를 구성해야 합니다. 무결성은 디지털 서명을 나타내고, 기밀성은 암호화를 나타냅니다. 무결성은 네트워크를 통해 데이터를 전송할 때 데이터 수정의 위험성을 감소시킵니다.

어떤 메시지 파트가 디지털 서명되는지를 지정한 후에는 메시지를 디지털 서명하기 위해 어떤 메소드가 사용되는지를 지정해야 합니다.

메소드

서명 정보에 사용되는 메소드는 다음과 같습니다.
서명 메소드
서명 알고리즘 메소드를 설정합니다.
정규화 메소드
정규화 알고리즘 메소드를 설정합니다.

서명 알고리즘

서명 알고리즘은 인증서를 서명하는 데 사용되는 알고리즘을 지정합니다. 서명 알고리즘은 서명 메소드의 URI(Uniform Resource Identifier)를 지정합니다. WebSphere® Application Server는 다음과 같이 미리 구성된 알고리즘을 지원합니다.

표 1. 서명 알고리즘. 이 알고리즘은 서명 메소드를 포함합니다.
알고리즘 설명
WSSSignature.HMAC_SHA1 서명 알고리즘 HMAC의 URI: http://www.w3.org/2000/09/xmldsig#hmac-sha1
WSSSignature.RSA_SHA1(기본값) 서명 알고리즘의 URI, RSA: 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)을 지원하지 않습니다.

요청 생성기 구성에 지정된 서명 알고리즘은 요청 이용자 구성에 지정된 알고리즘과 일치해야 합니다.

정규화 알고리즘

정규화 알고리즘은 정규화 메소드의 URI(Uniform Resource Identifier)를 지정합니다. WebSphere Application Server는 다음과 같이 미리 구성된 알고리즘을 지원합니다.

표 2. 서명 정규화 알고리즘. 이 알고리즘은 정규화 메소드를 포함합니다.
알고리즘 설명
WSSSignature.EXC_C14N(기본값) 독점 정규화 알고리즘의 URI, EXC_C14N: 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