클라이언트에 대한 요청 서명 메소드 구성

WSSSignature 및 WSSSignPart API를 사용하여 서명 메소드를 선택할 수 있습니다. 요청 서명 메소드에는 서명, 정규화, 요약 및 변환 메소드가 있습니다.

시작하기 전에

먼저 클라이언트가 전송하는 메시지 중 WSS API를 사용하거나 관리 콘솔을 통해 정책 세트를 구성하여 디지털 서명해야 하는 파트를 지정해야 합니다.

이 태스크 정보

다음 테이블에서는 이 정보의 목적에 대해 설명합니다. 이러한 정의 중 일부는 XML-Signature 명세를 기반으로 하며, 다음 웹 주소에 위치합니다.http://www.w3.org/TR/xmldsig-core

표 1. 서명 메소드. 서명 메소드를 사용하여 메시지를 보안 설정하십시오.
메소드 이름 설명
정형화 알고리즘 정보가 서명 오퍼레이션의 일부로서 다이제스트되기 전에 <SignedInfo> 요소를 정규화하십시오.
서명 알고리즘 정규화된 <SignedInfo> 요소의 서명 값을 계산합니다. 클라이언트 요청 수신인 구성에서 선택된 알고리즘은 클라이언트 요청 발신인 구성에서 선택된 알고리즘과 일치해야 합니다.
변환 메소드 서명 조작의 일부로 정보가 요약되기 전에 서명할 파트를 변환합니다.
다이제스트 메소드 변환된 파트의 요약 값을 계산합니다. 클라이언트 요청 전송자 구성에 대해 선택한 알고리즘이 서버 요청 수신자 구성에서 선택한 알고리즘과 일치해야 합니다.

WSS API를 사용하거나 관리 콘솔을 통해 정책 세트를 구성하여 서명 알고리즘 메소드를 구성할 수 있습니다. WSS API를 사용하는 경우 WSSSignature 및 WSSSignPart API를 사용하여 요청 서명에 대해 클라이언트를 구성할 때 디지털 서명할 메시지 파트를 지정하십시오.

WSSSignature 및 WSSSignPart API는 서명 및 서명된 파트 알고리즘 메소드를 구성하기 위해 다음 단계를 완료합니다.

프로시저

  1. 생성기 바인딩의 경우 WSSSignature API가 서명 메소드를 지정합니다. WebSphere® Application Server는 다음 사전 구성된 서명 메소드를 지원합니다.
    • WSSSignature.RSA_SHA1(기본값): http://www.w3.org/2000/09/xmldsig#rsa-sha1
    • WSSSignature.HMAC_SHA1: http://www.w3.org/2000/09/xmldsig#hmac-sha1
    WSS API의 경우 WebSphere Application Server는 DSA-SHA1 디지털 서명 메소드(http://www.w3.org/2000/09/xmldsig#dsa-sha1)를 지원하지 않습니다.
  2. 생성기 바인딩의 경우 WSSSignature API는 정규화 메소드를 지정합니다. WebSphere Application Server는 다음 사전 구성된 정규화 알고리즘을 지원합니다.
    • WSSSignature.EXC_C14N(기본값): 독점적인 정규화 알고리즘, http://www.w3.org/2001/10/xml-exc-c14n#
    • WSSSignature.C14N: 포함 정규화 알고리즘, http://www.w3.org/2001/10/xml-c14n#
  3. 생성기 바인딩의 경우 WSSSignPart API는 요약 메소드를 지정합니다. WebSphere Application Server는 다음 사전 구성된 요약 메소드를 지원합니다.
    • WSSSignPart.SHA1(기본값): http://www.w3.org/2000/09/xmldsig#sha1
    • WSSSignPart.SHA256: http://www.w3.org/2001/04/xmlenc#sha256
    • WSSSignPart.SHA512: http://www.w3.org/2001/04/xmlenc#sha512
  4. 생성기 바인딩의 경우 WSSSignPart API는 변환 메소드를 지정합니다. WebSphere Application Server는 다음 사전 구성된 변환 알고리즘을 지원합니다.
    • WSSSignPart.TRANSFORM_EXC_C14N(기본값): http://www.w3.org/2001/10/xml-exc-c14n#
    • WSSSignPart.TRANSFORM_XPATH2_FILTER: http://www.w3.org/2002/06/xmldsig-filter2
    • WSSSignPart.TRANSFORM_STRT10: http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform
    • WSSSignPart.TRANSFORM_ENVELOPED_SIGNATURE: http://www.w3.org/2000/09/xmldsig#enveloped-signature
    WSS API의 경우 WebSphere Application Server는 다음 변환 알고리즘을 지원하지 않습니다.
    • http://www.w3.org/TR/1999/REC-xpath-19991116
    • http://www.w3.org/2002/07/decrypt#XML

결과

WSS API를 사용하여 클라이언트가 서버에 메시지를 전송할 때 메시지에 디지털로 서명하는 데 사용할 알고리즘 메소드를 지정했습니다.

다음 예는 HMAC_SHA1을 서명 메소드로, C14N을 정규화 메소드로, SHA256을 요약 메소드로, EXC_C14N 및 TRANSFORM_STRT10을 변환 메소드로 서명 정보를 지정하기 위한 샘플 코드입니다.

	  //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 canonicalization method
	  // DEFAULT: WSSSignature.EXC_C14N
	  sig.setCanonicalizationMethod(WSSSignature.C14N);
	  
	  //set the signature method
	  // DEFAULT: WSSSignature.RSA_SHA1
	  sig.setSignatureMethod(WSSSignature.HMAC_SHA1);

	  //set the part specified by WSSSignPart
	  WSSSignPart sigPart = factory.newWSSSignPart();
	
	  //set the digest method
 	  // DEFAULT: WSSSignPart.SHA1
	  sigPart.setDigestMethod(WSSSignPart.SHA256);

	  //add the transform method
	  // DEFAULT: WSSSignPart.TRANSFORM_EXC_C14N
	  sigPart.addTransformMethod(WSSSignPart.TRANSFORM_EXC_C14N);
	  sigPart.addTransformMethod(WSSSignPart.TRANSFORM_STRT10);

    // add the WSSSignPart to the WSSSignature
    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=twbs_confwsssignalgorithms
파일 이름:twbs_confwsssignalgorithms.html