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 변환 알고리즘인 엔벨로프 서명의 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);

주제 유형을 표시하는 아이콘 참조 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rwbs_wsssignpartalgorithms
파일 이름:rwbs_wsssignpartalgorithms.html