X.509 인증서 ID의 키 관리자 제어
JSSE(Java™ Secure Socket Extension) 키 관리자 역할은 SSL(Secure Sockets Layer) 핸드쉐이크 중에 클라이언트와 서버 식별에 사용되는 인증서를 검색합니다.
- com.ibm.ssl.keyStoreClientAlias
- 연결의 클라이언트 측에 대해 키 저장소에서 선택되는 별명을 정의합니다. 이 별명은 키 저장소에 있어야 합니다.
- com.ibm.ssl.keyStoreServerAlias
- 연결의 서버 측에 대해 키 저장소에서 선택되는 별명을 정의합니다. 이 별명은 키 저장소에 있어야 합니다.
WebSphere Application Server를 사용하여 제공된 SSL 구성에서 한 번에 한 개의 키 관리자만 구성할 수 있습니다. 클라이언트 측에서 사용자 정의 인증서 선택사항 로직이 필요한 경우 새 사용자 정의 키 관리자를 작성해야 합니다. 사용자 정의 키 관리자는 사용자에게 인증서를 동적으로 선택하도록 프롬프트하는 기능을 제공할 수 있습니다. 또한, 키 관리자가 연결 시에 정보를 제공할 수 있도록 확장 인터페이스를 구현할 수도 있습니다. 확장된 인터페이스에 대한 자세한 정보는 com.ibm.wsspi.ssl.KeyManagerExtendedInfo 인터페이스를 참조하십시오. 사용자 정의 키 관리자 개발에 대한 자세한 정보는 SSL에 대해 사용자 정의 키 관리자 작성의 내용을 참조하십시오.
기본 IbmX509 키 관리자
기본 IbmX509 키 관리자는 SSL 핸드쉐이크의 ID로 사용되는 인증서를 선택합니다. 키 관리자는 SSL 핸드쉐이크의 양쪽에서 클라이언트 인증을 사용하도록 호출되며 클라이언트와 서버의 요구사항에 따라 주로 서버 측에서 호출되고 클라이언트 측에서는 더 낮은 빈도로 호출됩니다. 키 저장소가 클라이언트 측에서 구성되지 않고 SSL 클라이언트 인증이 사용되는 경우, 키 관리자는 서버에 전송할 인증서를 선택할 수 없습니다. 따라서 핸드쉐이크가 실패합니다.
<keyManagers xmi:id="KeyManager_1" name="IbmX509"
provider="IBMJSSE2" algorithm="IbmX509" keyManagerClass=""
managementScope="ManagementScope_1"/>
키 관리자가 IBMJSSE2 제공자에서
제공되기 때문에 keyManagerClass 클래스는 지정하지 않습니다. 그렇지만
키 관리자가 사용자 정의 클래스 구현인지 지정할 수 있으며
어떤 경우에든 keyManager 클래스를 지정하거나 WebSphere Application Server Java 보안 제공자 프레임워크에서 시작할 수 있도록 알고리즘을 지정해야 합니다. 사용자 정의 키 관리자
다음 샘플 코드는 사용자 정의 클래스에 대해 security.xml 파일에서 키 관리자 구성을 표시합니다.<keyManagers xmi:id="KeyManager_2" name="CustomKeyManager"
keyManagerClass="com.ibm.ws.ssl.core.CustomKeyManager"
managementScope="ManagementScope_1"/>
사용자 정의 클래스는 javax.net.ssl.X509KeyManager
인터페이스를 구현하고 선택적으로 com.ibm.wsspi.ssl.KeyManagerExtendedInfo 인터페이스를 구현하여 추가
WebSphere Application Server 정보를 검색해야 합니다. 한 번에
한 개의 키 관리자만 구성할 수 있기 때문에 이 인터페이스는
기본 키 관리자의 기능을 대체합니다.
따라서 사용자 정의 키 관리자만 구성 키 저장소에서 사용하는 별명을 선택할
책임이 있습니다. 사용자 정의 키 관리자의 장점은 클라이언트 측에서 별명을
프롬프트하는 해당 기능입니다.
이 프로세스를 사용하여 사용자는 클라이언트 인증서 ID를 아는 상황에서 사용할
인증서를 결정할 수 있습니다. 자세한 정보는
SSL에 대해 사용자 정의 키 작성의 내용을 참조하십시오.