서명자 인증서 암호화에 대한 정책 세트 및 바인딩 구성

이 프로시저에서는 서명자 인증서 암호화에 대한 JAX-WS 이용자/제공자를 구성하는 방법을 설명합니다. 서명자 인증서 암호화란, 인바운드 요청 메시지의 디지털 서명을 확인하는 데 사용되는 클라이언트의 공용 인증서를 사용하여 아웃바운드 응답을 암호화함을 의미합니다.

시작하기 전에

이 태스크에서는 구성하는 서비스 제공자 및 클라이언트가 JaxWSServicesSamples 애플리케이션에 있다고 가정합니다. 이 애플리케이션을 구하고 설치하는 방법에 대해서는 샘플 액세스 주제를 참조하십시오.

서버에서 다음 추적 스펙을 사용하십시오. 이 스펙을 통해 발생할 수 있는 향후 구성 문제점을 디버그할 수 있습니다.
*=info:com.ibm.wsspi.wssecurity.*=all:com.ibm.ws.webservices.wssecurity.*=all:  com.ibm.ws.wssecurity.*=all:
    com.ibm.xml.soapsec.*=all: com.ibm.ws.webservices.trace.*=all:
    com.ibm.ws.websvcs.trace.*=all:com.ibm.ws.wssecurity.platform.audit.*=off:
    com.ibm.ws.webservices.multiprotocol.AgnosticService=all:
    com.ibm.ws.websvcs.utils.SecurityContextMigrator=all 

이 태스크 정보

서명자 인증서 암호화가 사용 중이므로 클라이언트의 디지털 서명 키 저장소만 이 프로시저에서 사용됩니다. 서비스는 인바운드 요청에서 서명 검증에 사용된 공용 인증서를 가져온 후 이를 사용하여 응답을 암호화합니다. 제공자 측에서 제공자의 암호화 생성기에 있는 사용자 정의 특성 com.ibm.wsspi.wssecurity.token.cert.useRequestorCert=true를 사용하여 이를 수행합니다.

이 프로시저에 사용된 키 저장소는 WebSphere Application Server에서 제공하며 작성된 모든 프로파일에 설치됩니다. 구성에서 ${USER_INSTALL_ROOT} 변수를 직접 사용하여 완전한 경로 없이도 키 저장소 위치를 편리하게 가리킬 수 있습니다. ${USER_INSTALL_ROOT}c:/WebSphere/AppServer/profiles/AppSrv01과 같은 경로로 분석됩니다.
${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-sender.ks
JaxWSServicesSamples의 특성 때문에 이 애플리케이션에 정책 세트 및 바인딩을 적용하려면 관리 콘솔에서 애플리케이션 > 애플리케이션 유형 > WebSphere 엔터프라이즈 애플리케이션 > JaxWSServicesSamples를 클릭하십시오. 사용자 고유 애플리케이션을 정책 세트 및 바인딩의 첨부를 위해 제공자 및 클라이언트에 액세스하는 대안으로 다음 경로를 사용할 수 있습니다.
  • 서비스 > 서비스 제공자 > (AppName)
  • 서비스 > 서비스 클라이언트 > (AppName)
이 프로시저는 태스크를 단순화하도록 다음을 수행합니다.
  • 아웃바운드 디지털 서명 및 인바운드 암호화만 구성됩니다.
  • 클라이언트 및 제공자 모두에 대해 일반 바인딩이 사용됩니다.
문제점 방지 문제점 방지:

태스크를 완료한 후 작성한 일반 바인딩으로 돌아가 편집해야 하는 경우 업데이트를 저장한 후에 애플리케이션 서버를 다시 시작해야 합니다. 일반 바인딩을 작성하고 애플리케이션 서버를 다시 시작하지 않고 즉시 사용할 수 있지만, 애플리케이션에서 일반 바인딩을 로드하면 서버를 다시 시작할 때까지 바인딩의 변경사항이 인식되지 않습니다.

gotcha

프로시저

  1. 사용자 정의 정책 세트를 작성하십시오.
    1. 관리 콘솔에서 서비스 > 정책 세트 > 애플리케이션 정책 세트를 클릭하십시오.
    2. 새로 작성을 클릭하십시오.
    3. name=OutSignInEncPolicy를 지정하십시오.
    4. 정책에서 추가 > WS-Security를 클릭하십시오.
  2. 아웃바운드 암호화 및 인바운드 서명을 제거하도록 사용자 정의 정책 세트를 편집하십시오.
    1. 관리 콘솔에서 WS-Security > 기본 정책을 클릭하십시오.
    2. 메시지 레벨 보호에서 요청 메시지 파트 보호를 클릭하십시오.
    3. app_encparts를 클릭하십시오.
    4. 삭제를 클릭하십시오.
    5. 완료를 클릭하십시오.
    6. 응답 메시지 파트 보호를 클릭하십시오.
    7. app_sigparts를 클릭하십시오.
    8. 삭제를 클릭하십시오.
    9. 완료를 클릭하십시오.
  3. 저장을 클릭하여 구성 변경사항을 저장하십시오.
  4. 제공자 일반 바인딩을 작성하십시오.
    1. 관리 콘솔에서 서비스 > 정책 세트 > 일반 제공자 정책 세트 바인딩을 클릭하십시오.
    2. 제공자 샘플을 확인하십시오.
    3. 복사...를 클릭하십시오.
    4. name=ProviderSignerCertGeneralBinding을 지정하십시오.
    5. 확인을 클릭하십시오.
  5. 서명자 인증서 암호화를 수행하도록 ProviderSignerCertGeneralBinding을 편집하십시오.
    1. ProviderSignerCertGeneralBinding > WS-Security > 인증 및 보호 > gen_encx509token > 콜백 핸들러를 클릭하십시오.
    2. 사용자 정의 특성에서 다음을 입력하십시오.
      Name=com.ibm.wsspi.wssecurity.token.cert.useRequestorCert
      value=true
    3. 키 저장소에서 Name=None을 선택하십시오.
    4. 확인을 클릭하십시오.
  6. 클라이언트 일반 바인딩을 작성하십시오.
    1. 관리 콘솔에서 서비스 > 정책 세트 > 일반 클라이언트 정책 세트 바인딩을 클릭하십시오.
    2. 클라이언트 샘플을 확인하십시오.
    3. 복사...를 클릭하십시오.
    4. name=ClientSignerCertGeneralBinding을 지정하십시오.
    5. 확인을 클릭하십시오.
  7. 고유한 서명 키를 사용하여 메시지를 복호화하도록 ClientSignerCertGeneralBinding을 편집하십시오.
    1. ClientSignerCertGeneralBinding > WS-Security > 인증 및 보호 > con_encx509token > 콜백 핸들러 > 사용자 정의 키 저장소 구성을 클릭하십시오.
    2. 키 저장소에서 서명 생성기가 사용하는 동일한 키 저장소를 입력하십시오.
      Full path=${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-sender.ks
      Type=JKS
      Password=client
    3. 에서 서명 생성기가 사용하는 동일한 키를 입력하십시오.
      Name=CN=SOAPRequester, OU=TRL, O=IBM, ST=Kanagawa, C=JP
      Alias=soaprequester
      Password=client
    4. 확인을 클릭하십시오.
  8. OutSignInEncPolicy 정책 세트 및 ClientSignerCertGeneralBinding 일반 바인딩을 사용하도록 클라이언트를 구성하십시오.
    1. 관리 콘솔에서 애플리케이션 > 애플리케이션 유형 > WebSphere 엔터프라이즈 애플리케이션 > JaxWSServicesSamples > 서비스 클라이언트 정책 세트 및 바인딩을 클릭하십시오.
    2. 웹 서비스 클라이언트 자원(JaxWSServicesSamples)을 선택하십시오.
    3. 정책 세트 첨부를 클릭하십시오.
    4. OutSignInEncPolicy를 선택하십시오.
    5. 웹 서비스 클라이언트 자원(JaxWSServicesSamples)을 다시 선택하십시오.
    6. 바인딩 지정을 클릭하십시오.
    7. ClientSignerCertGeneralBinding을 선택하십시오.
  9. SimpleSignEncPolicy 정책 세트 및 ProviderSignerCertGeneralBinding 일반 바인딩을 사용하도록 제공자를 구성하십시오.
    1. 관리 콘솔에서 애플리케이션 > 애플리케이션 유형 > WebSphere 엔터프라이즈 애플리케이션 > JaxWSServicesSamples > 서비스 제공자 정책 세트 및 바인딩을 클릭하십시오.
    2. 웹 서비스 제공자 자원(JaxWSServicesSamples)을 선택하십시오.
    3. 정책 세트 첨부를 클릭하십시오.
    4. OutSignInEncPolicy를 선택하십시오.
    5. 웹 서비스 제공자 자원(JaxWSServicesSamples)을 다시 선택하십시오.
    6. 바인딩 지정을 클릭하십시오.
    7. PrioviderSignerCertGeneralBinding을 선택하십시오.
  10. 저장을 클릭하여 구성 변경사항을 저장하십시오.
  11. 클라이언트 및 제공자를 다시 시작하십시오.
    1. 클라이언트 및 제공자를 중지하십시오.
    2. 클라이언트 및 제공자를 다시 시작하십시오.
  12. 서비스를 테스트하십시오.
    1. 웹 브라우저에서 JaxWSServicesSamples을 가리키십시오(http://localhost:9080/wssamplesei/demo).
      문제점 방지 문제점 방지: 제공자가 동일한 시스템에 없거나 포트가 9080이 아니면 올바른 호스트 이름 및 포트를 제공해야 합니다. gotcha
    2. 메시지 유형 동기 에코를 선택하십시오.
    3. SOAP 1.2 사용이 선택되지 않았는지 확인하십시오.
    4. 메시지를 입력하고 메시지 보내기를 클릭하십시오.
    샘플 애플리케이션은 JAXWS==>Message로 회신해야 합니다.

결과

JaxWSServicesSamples 웹 서비스 애플리케이션은 요청에 서명하는 데 사용된 인증서를 사용하여 응답을 암호화하도록 구성됩니다.

주제 유형을 표시하는 아이콘 태스크 주제



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