SSL 클라이언트 인증을 사용하여 Liberty 프로파일에서
웹 애플리케이션을 구성할 수 있습니다.
이 태스크 정보
클라이언트 측이 인증서를 보내도록 서버 측에서 요청한 경우에 클라이언트
인증서 인증이 발생합니다. SSL 구성에서 클라이언트 인증서 인증을 위한 WebSphere® 서버를
구성할 수 있습니다. 이 작업을 수행하려면 인증을 위한 키 저장소 정보를 서버에 알려주는 코드와 함께 ssl-1.0 Liberty 기능을
server.xml 파일에 추가하십시오.
SSL의 지원되는 요소에 대한 세부사항은 Liberty 기능의 내용을 참조하십시오.
프로시저
- 웹 애플리케이션의 배치 디스크립터가 사용할 인증 방법으로 클라이언트 인증서 인증을 지정하는지 확인하십시오.
배치 디스크립터에 다음 요소가 포함되었는지 확인하십시오.
<auth-method>CLIENT-CERT</auth-method>
참고: Rational® Application
Developer와 같은 도구를 사용하여 배치 디스크립터를 작성할 수 있습니다.
- 옵션: 명령행을 사용하여 SSL 인증서를 생성하십시오.
securityUtility 명령을 확인하십시오.
- server.xml 파일에 다음 행을 추가하여 SSL 클라이언트 인증을
사용하도록 서버를 구성하십시오.
<featureManager>
<feature>ssl-1.0</feature>
<featureManager>
<ssl id="defaultSSLConfig" keyStoreRef="defaultKeyStore"
trustStoreRef="defaultTrustStore" clientAuthenticationSupported="true" />
<keyStore id="defaultKeyStore" location="key.jks" type="JKS" password="defaultPWD" />
<keyStore id="defaultTrustStore" location="trust.jks" type="JKS" password="defaultPWD" />
- clientAuthentication="true"를 지정하는 경우 서버는 클라이언트가 인증서를 보내도록 요청합니다. 하지만 클라이언트에 인증서가 없거나
인증서를 서버에서 신뢰하지 않는 경우, 핸드쉐이크는 성공하지 않습니다.
- clientAuthenticationSupported="true"를 지정하는 경우,
서버는 클라이언트가 인증서를 보내도록 요청합니다. 하지만 클라이언트에 인증서가 없거나
인증서를 서버에서 신뢰하지 않는 경우에도 핸드쉐이크가 성공할 수 있습니다.
- clientAuthentication 또는 clientAuthenticationSupported를 지정하지 않거나 clientAuthentication="false" 또는 clientAuthenticationSupported="false"를 지정하는 경우,
서버는 클라이언트가 핸드쉐이크 중에 인증서를 보내도록 요청하지 않습니다.
- 클라이언트 인증서를 브라우저에 추가하십시오. 클라이언트 인증서 추가에 대해서는
브라우저의 문서를 참조하십시오.
- 사용되는 모든 클라이언트 인증서를 서버가 신뢰하는지 확인하십시오.
- 클라이언트 인증에 사용되는 모든 클라이언트 인증서가 레지스트리의 사용자
ID에 맵핑되었는지 확인하십시오.
- 기본 레지스트리의 경우, 사용자 ID는 인증서의 식별 이름(DN)에서 공통된
이름(CN)입니다.
- LDAP(Lightweight Directory Access Protocol) 레지스트리의 경우, 클라이언트
인증서의 DN은 LDAP 레지스트리에 있어야 합니다.
- 클라이언트 인증서 인증에 성공하지 못한 경우 기본 인증, 사용자 ID, 비밀번호만 사용하려면
다음 행을 사용자의 server.xml 파일에 추가하십시오.
<webAppSecurity allowFailOverToBasicAuth="true" />
참고: allowFailOverToBasicAuth="false"를 지정하거나
allowFailOvertoBasicAuth를 지정하지 않았고 클라이언트 인증서
인증에 실패한 경우, 요청 시 403 Authentication error 메시지가
생성되고 클라이언트에 기본 인증을 요구하지 않습니다.