클라이언트 인증서 인증을 위한 웹 애플리케이션 및 서버 구성

SSL 클라이언트 인증을 사용하여 Liberty에서 웹 애플리케이션을 구성할 수 있습니다.

시작하기 전에

이 주제에서는 예를 들어 명령행에서 SSL 인증서 작성에서 설명한 대로 SSL 인증서를 이미 작성했다고 가정합니다.

이 태스크 정보

클라이언트 측이 인증서를 보내도록 서버 측에서 요청한 경우에 클라이언트 인증서 인증이 발생합니다. SSL 구성에서 클라이언트 인증서 인증을 위한 WebSphere® 서버를 구성할 수 있습니다. 이를 수행하려면 인증을 위한 키 저장소 정보를 서버에 알려주는 코드와 함께 ssl-1.0 Liberty 기능을 server.xml 파일에 추가하십시오.

SSL의 지원되는 요소에 대한 세부사항은 Liberty 기능의 내용을 참조하십시오.

프로시저

  1. 웹 애플리케이션의 배치 디스크립터가 사용할 인증 방법으로 클라이언트 인증서 인증을 지정하는지 확인하십시오.
    배치 디스크립터에 다음 요소가 포함되었는지 확인하십시오.
    <auth-method>CLIENT-CERT</auth-method>
    참고: Rational® Application Developer와 같은 도구를 사용하여 배치 디스크립터를 작성할 수 있습니다.
  2. 옵션: 명령행을 사용하여 SSL 인증서를 생성하십시오. securityUtility 명령의 내용을 참조하십시오.
  3. 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"를 지정하는 경우, 서버는 클라이언트가 핸드쉐이크 중에 인증서를 보내도록 요청하지 않습니다.
  4. 클라이언트 인증서를 브라우저에 추가하십시오. 클라이언트 인증서 추가에 대해서는 브라우저의 문서를 참조하십시오.
  5. 사용되는 모든 클라이언트 인증서를 서버가 신뢰하는지 확인하십시오.
  6. 클라이언트 인증에 사용되는 모든 클라이언트 인증서가 레지스트리의 사용자 ID에 맵핑되었는지 확인하십시오.
    • 기본 레지스트리의 경우, 사용자 ID는 인증서의 식별 이름(DN)에서 공통된 이름(CN)입니다.
    • LDAP(Lightweight Directory Access Protocol) 레지스트리의 경우, 클라이언트 인증서의 DN은 LDAP 레지스트리에 있어야 합니다.
  7. 클라이언트 인증서 인증에 성공하지 못한 경우 기본 인증, 사용자 ID, 비밀번호만 사용하려면 다음 행을 사용자의 server.xml 파일에 추가하십시오.
    <webAppSecurity allowFailOverToBasicAuth="true" />
    참고: allowFailOverToBasicAuth="false"를 지정하거나 allowFailOvertoBasicAuth를 지정하지 않았고 클라이언트 인증서 인증에 실패한 경우, 요청 시 403 Authentication error 메시지가 생성되고 클라이언트에 기본 인증을 요구하지 않습니다.

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

파일 이름: twlp_sec_clientcert.html