Liberty Repository[8.5.5.6 이상]

Liberty 프로파일 애플리케이션 클라이언트 컨테이너에 대해 SSL 통신 사용

Liberty 프로파일 애플리케이션 클라이언트 컨테이너는 클라이언트 컨테이너가 서버와 통신하기 위해 몇 가지 SSL 구성을 요구할 수 있습니다. 애플리케이션 클라이언트 컨테이너를 위한 SSL 구성은 서버가 SSL 인에이블먼트를 위해 요구하는 것과 동일한 SSL 기능 ssl-1.0의 사용을 요구합니다. 애플리케이션을 위한 구성 요소 및 속성은 서버에 대한 것과 동일합니다. 그러나 애플리케이션 클라이언트 컨테이너의 경우 이러한 값은 client.xml 파일에 지정됩니다.

이 태스크 정보

SSL 핸드쉐이크는 연결 특정 보호를 조정하기 위해 클라이언트와 서버 간에 SSL 프로토콜을 통해 교환된 일련의 메시지입니다. Liberty 프로파일 애플리케이션 클라이언트 컨테이너를 위해 SSL을 사용하려면 클라이언트가 사용하는 SSL 구성을 형성하는 데 필요한 최소 정보가 SSL 기능 ssl-1.0에 포함되어야 합니다. SSL 구성을 형성하는 데 필요한 최소 정보는 키 저장소와 비밀번호입니다.

securityUtility createSSLCertificatecommand를 사용하여 클라이언트의 키 저장소를 작성하고 구성에 대한 정보와 함께 제공할 수 있습니다. 다른 고객 정의 목적을 위해 키 저장소 및 연관된 구성을 작성할 수도 있으므로, 이 도구의 사용은 선택사항입니다.

프로시저

client.xml 파일에 키 저장소 요소를 추가하십시오. id 속성은 defaultKeyStore여야 하며 password 속성에는 키 저장소 비밀번호가 포함되어야 합니다. 비밀번호는 일반 텍스트로 입력하거나 인코드할 수 있습니다. securityUtility 인코드 옵션을 사용하여 비밀번호를 인코딩하십시오.
<keyStore id="defaultKeyStore" password="yourPassword" />

이것은 SSL 구성을 작성하는 데 필요한 최소 구성입니다. 이 구성에서 클라이언트는 SSL 초기화 중에 존재하지 않는 경우 키 저장소 및 인증서를 작성합니다. 제공된 비밀번호는 길이가 6자 이상이어야 합니다. JKS는 기본 키 저장소 유형이며 기본 키 저장소는 key.jks이고 이러한 기본값은 <client home>/resources/security 디렉토리에 있습니다.

클라이언트는 이전 구성을 사용할 경우 처음 시작할 때 defaultKeyStore를 작성하지만 클라이언트에 대해 기본 인증서를 작성하도록 하면 성능 저하가 발생합니다. 성능 저하를 피하려면 securityUtilitiy createSSLCertificate 명령을 사용하여 defaultKeyStore 구성에 사용되는 기본 키 저장소를 작성하는 것이 좋습니다.

사용자 정의 SSL 구성이 필요한 경우, Liberty 프로파일: SSL 구성 속성을 참조하십시오.

서명자 인증서 승인
클라이언트에 서버에 대해 설정된 신뢰 관계가 없는 경우 클라이언트와의 통신은 사용자에게 프롬프트를 표시하고 서버로부터의 인증서를 승인하는지 묻습니다. 사용자가 yes로 응답하면 인증서가 승인되어 클라이언트 키 저장소 구성에 저장되고 명령이 진행됩니다. 사용자가 no를 지정하면 신뢰가 설정되지 않고 호출이 오류로 종료됩니다.
프롬프트 표시의 예는 다음과 같습니다.
*** SSL SIGNER EXCHANGE PROMPT ***
The SSL signer from target host is not found in trust store C:/liberty/workspace/build.image/wlp/usr/clients/myTestClient/resources/security/key.jks.

Here is the signer information (verify the digest value matches what is displayed at the server):
Subject DN:    CN=localhost, O=ibm, C=us
Issuer DN:     CN=localhost, O=ibm, C=us
Serial number: 1327582458
Expires:       Sun Jan 04 06:54:18 CST 2099
SHA-1 Digest:  00:6F:25:F1:78:5D:EB:00:B1:E2:99:DB:E8:D7:DF:3B:F8:E0:20:9A
Add signer to the trust store now? (y/n)
서명자를 신뢰 저장소에 추가하라는 요구에 사용자가 no를 지정하면 다음과 같은 오류 메시지를 수신할 수 있습니다.
[ERROR   ] CWPKI0022E: SSL HANDSHAKE FAILURE:  A signer with SubjectDN CN=localhost, O=ibm, C=us
sent from the target host.  The signer might need to be added to local trust store C:/liberty/workspace/build.image/wlp/usr/clients/myTestClient/resources/security/key.jks, located in SSL configuration alias defaultSSLConfig.  The extended error message from the SSL handshake exception is: PKIX path building failed: java.security.cert.CertPathBuilderException: PKIXCertPathBuilderImpl could not build a valid CertPath.; internal cause is:
        java.security.cert.CertPathValidatorException: The certificate issued by SubjectDN CN=localhost, O=ibm, C=us is not trusted; internal cause is:
        java.security.cert.CertPathValidatorException: Certificate chaining error
throw able: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: PKIX path building failed: java.security.cert.CertPathBuilderException
: PKIXCertPathBuilderImpl could not build a valid CertPath.; internal cause is:

        java.security.cert.CertPathValidatorException: The certificate issued by
 SubjectDN CN=localhost, O=ibm, C=us is not trusted; internal cause is:
        java.security.cert.CertPathValidatorException: Certificate chaining error
클라이언트 인증
클라이언트 인증이 사용되는 서버와 클라이언트가 통신하는 경우, 서버는 클라이언트를 신뢰해야 하고 클라이언트는 서버를 신뢰해야 합니다. 클라이언트는 키 저장소에 키와 개인 인증서가 있어야 합니다. securityUtility createSSLCertificate 명령을 사용하는 경우 키 저장소에는 개인 인증서가 있습니다. 클라이언트 애플리케이션 컨테이너가 통신 중인 서버는 클라이언트를 신뢰해야 하므로 클라이언트의 서명자를 서버의 신뢰 저장소에 추가해야 합니다. Java 도구 keytool을 사용하여 애플리케이션 클라이언트의 키 저장소에서 서명자를 추출하고 클라이언트의 인증서를 서버의 신뢰 저장소에 추가할 수 있습니다.

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

Information Center 이용 약관 | 피드백


시간소인 아이콘 마지막 업데이트 날짜: Wednesday, 2 September 2015
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_enable_ssl_liberty_client_container
파일 이름: twlp_enable_ssl_liberty_client_container.html