이용자 바인딩에 대해 복호화 메소드 선택
이용자 바인딩의 응답 복호화를 위한 클라이언트를 구성하려면 클라이언트가 SOAP 메시지를 복호화할 때 사용할 데이터 및 변환 알고리즘 메소드를 지정하십시오.
시작하기 전에
이러한 단계를 완료하기 전에 XML 암호화 정보를 읽고 SOAP 메시지 암호화 및 복호화에 대해 익히십시오.
SOAP 메시지를 보안 설정하기 위해 복호화 구성을 완료하려면 다음 태스크를 완료해야 합니다.
- SOAP 메시지 파트의 복호화를 구성합니다.
- 복호화 메소드를 지정합니다.
WSSDecryption 및 WSSDecryptPart API를 사용하여 복호화 메소드를 구성할 수 있습니다. 또는 관리 콘솔을 사용하여 복호화 메소드를 구성하기 위한 정책 세트를 구성할 수도 있습니다.
이 태스크 정보
암호화 관련 정의 중 일부는 XML 암호화 스펙을 기반으로 합니다. 다음 정보는 일부 데이터 암호화 관련 용어를 정의합니다.
- 데이터 암호화 방법 알고리즘
- 데이터 암호화 알고리즘은 데이터 암호화 메소드의 알고리즘 URI(Uniform Resource Identifier)를 지정합니다. 이 알고리즘은
데이터를 고정 크기의 복수 8진 블록으로 암호화 및 복호화합니다.
기본적으로, JCE(Java™ Cryptography Extension)가 길이가 제한된 암호와 함께 제공됩니다. 192비트와 256비트 고급 암호화 표준(AES) 암호화 알고리즘을 사용하려면 제한 없는 관할 정책 파일을 적용해야 합니다.
AES256-cbc 및 AES192-cbc 알고리즘의 경우 다음 웹 사이트에서 무제한 JCE(Java™ Cryptography Extension) 정책 파일을 다운로드해야 합니다. http://www.ibm.com/developerworks/java/jdk/security/index.html.
- 키 암호화 방법 알고리즘
- 키 암호화 알고리즘은 키 암호화 메소드의 알고리즘 URI(Uniform Resource Identifier)를 지정합니다. 이 알고리즘은 키의
암호화 및 복호화를 위해 지정되는 공개 키 암호화 알고리즘을 나타냅니다. 기본적으로 RSA_OAEP 알고리즘은 SHA1 메시지 요약 알고리즘을 사용하여 암호화 조작의 일부로 메시지 요약을 계산합니다. 선택적으로, 키 암호화 알고리즘 특성을 지정하여 SHA256 또는 SHA512 메시지 다이제스트 알고리즘을 사용할 수 있습니다. 특성 이름은 다음과 같습니다. com.ibm.wsspi.wssecurity.enc.rsaoaep.DigestMethod. 특성 값은 다이제스트 메소드의 다음 uri 중 하나입니다.
- http://www.w3.org/2001/04/xmlenc#sha256
- http://www.w3.org/2001/04/xmlenc#sha512
기본적으로 RSA_OAEP 알고리즘은 OAEPParams의 선택적 인코딩 8진수 문자열에 대해 널 문자열을 사용합니다. 키 암호화 알고리즘 특성을 지정하여 명시적 인코딩 8진수 문자열을 제공할 수 있습니다. 특성 이름의 경우, com.ibm.wsspi.wssecurity.enc.rsaoaep.OAEPparams을 지정할 수 있습니다. 특성 값은 8진수 문자열의 기본 64-인코딩된 값입니다.
중요사항: 이러한 다이제스트 메소드와 OAEPParams 특성을 생성기 측면으로만 설정할 수 있습니다. 이용자 측면에, 이러한 특성은 수신 SOAP 메시지에서 읽혀집니다.KW_AES256 및 KW_AES192 키 암호화 알고리즘의 경우 다음 웹 사이트에서 무제한 JCE 정책 파일을 다운로드해야 합니다. http://www.ibm.com/developerworks/java/jdk/security/index.html.
중요사항: 사용자의 국가마다 암호화 소프트웨어의 수입, 소유권, 사용 또는 다른 국가로의 재수출에 대한 제한사항이 있을 수 있습니다. 제한되지 않은 정책 파일을 다운로드하거나 사용하기 전에 허용 여부를 결정하려면 암호화 소프트웨어의 수입, 소유권, 사용 및 재수출에 관한 해당 국가의 법률, 규정 및 정책을 확인해야 합니다.
복호화 구성을 완료하려면 알고리즘 URI(Uniform Resource Identifier) 및 사용법 유형을 지정해야 합니다. URI가 여러 사용법 유형에 사용되는 경우 각 사용법 유형에 대한 URI를 정의해야 합니다. WebSphere® Application Server는 다음 복호화 사용법 유형을 지원합니다.
사용법 유형 | 설명 |
---|---|
데이터 암호화 | 암호화 및 복호화 모두에 사용되는 알고리즘 URI를 지정합니다. 수정된 크기, 여러 옥텟 블록에서 데이터를 암호화하고 복호화합니다. |
키 암호화 | 키 암호화 및 복호화 모두에 사용되는 알고리즘 URI를 지정합니다. |
복호화 및 복호화된 파트 알고리즘을 구성하려면 WSSDecryption 및 WSSDecryptPart API를 사용하거나 관리 콘솔을 사용하여 정책 세트를 구성하십시오.
- WSSDecryption API를 사용하여 데이터 암호화 알고리즘 및 키 암호화 알고리즘 메소드를 구성하십시오.
- WSSDecryptPart API를 사용하여 변환 알고리즘 메소드를 구성하십시오.
WSS API 프로세스는 다음 상위 레벨 단계를 완료하여 응답 복호화를 위해 클라이언트를 구성할 때 사용할 복호화 및 복호화된 파트 알고리즘 메소드를 지정합니다.
프로시저
결과
예
다음 예는 본문 컨텐츠 복호화 외에도 데이터 암호화 및 키 암호화 알고리즘을 기본값에서 변경하기 위한 샘플 WSS API 코드를 제공합니다.
// Get the message context
Object msgcontext = getMessageContext();
// Generate the WSSFactory instance
WSSFactory factory = WSSFactory.getInstance();
// Generate the WSSConsumingContext instance
WSSConsumingContext gencont = factory.newWSSConsumingContext();
// Generate the callback handler
X509ConsumeCallbackHandler callbackHandler = new
X509ConsumeCallbackHandler(
"",
"enc-sender.jceks",
"jceks",
"storepass".toCharArray(),
"alice",
"keypass".toCharArray(),
"CN=Alice, O=IBM, C=US");
// Generate WSSDecryption instance
WSSDecryption dec = factory.newWSSDecryption(X509Token.class,
callbackHandler);
// Set the candidates for the data encryption method
// DEFAULT : WSSDecryption.AES128
dec.addAllowedEncryptionMethod(WSSDecryption.AES128);
dec.addAllowedEncryptionMethod(WSSDecryption.AES192);
// Set the candidates for the key encryption method
// DEFAULT : WSSDecryption.KW_RSA_OAEP
dec.addAllowedKeyEncryptionMethod(WSSDecryption.KW_TRIPLE_DES);
// Add the WSSDecryption to WSSConsumingContext
concont.add(dec);
// Validate the WS-Security header
concont.process(msgcontext);