집합체 제어기 SSL 키 생성
집합체 유틸리티 genKey 명령을 사용하여 JKS(Java™ Keystore) 형식으로 키 저장소를 생성할 수 있습니다. 이 키 저장소에는 집합체 제어기와의 SSL(Secure Sockets Layer) 통신을 사용할 수 있게 하는 개인 인증서가 포함되어 있습니다.
시작하기 전에
집합체 제어기를 작성하십시오. Liberty 집합체 구성의 내용을 참조하십시오.
이 태스크 정보
집합체 제어기에 대한 원격 JMX 연결에서는 SSL을 사용하고 적합한 SSL 키가 필요합니다. 집합체 유틸리티 genKey 명령은 집합체 제어기가 신뢰하는 개인 인증서가 포함된 키 저장소를 생성합니다. 또한 생성된 키 저장소에는 신뢰 저장소 역할을 수행할 수 있도록 공용 서명자 인증서가 포함되어 있습니다.
집합체 멤버 서버 또는 비-Liberty 서버 등의 JVM(Java Virtual Machine)이 집합체 제어기에 연결할 수 있으려면, 집합체 제어기가 신뢰하는 키가 포함된 키 저장소가 JVM에 있어야 합니다. genKey 명령은 이 키 저장소를 생성합니다. JVM이 키 저장소를 가지고 나면 JVM은 집합체 제어기에 연결할 수 있고 집합체 제어기는 해당 키를 리턴할 수 있습니다. 이와 같이 JVM에 집합체 제어기 키를 리턴하는 것을 SSL 핸드쉐이크라고 합니다.
JVM이 집합체 제어기 키를 JVM 신뢰 저장소에 추가하려면 --autoAcceptCertificates 옵션을 사용해야 합니다. --autoAcceptCertificates 옵션이 사용되지 않는 경우에는 신뢰 저장소에 키 추가 프롬프트가 사용자에게 표시됩니다.
프로시저
wlp/bin/collective genKey [--host=collectiveControllerHost --password=collectiveControllerAdminUserPassword --port=collectiveControllerHTTPSPort --user=collectiveControllerAdminUserID --keystorePassword=generatedKeystorePassword --autoAcceptCertificates]
필요한 옵션 수를 줄이려면 --user, --password,
--host 및 --port 대신 --controller 옵션을 사용하십시오.
wlp/bin/collective genKey [--controller=collectiveControllerAdminUserID:collectiveControllerAdminUserPassword@collectiveControllerHost:collectiveControllerHTTPSPort --keystorePassword=generatedKeystorePassword --autoAcceptCertificates]
예를 들어, 포트 1090을 사용하며 집합체 제어기 관리 사용자가 Admin1이고 비밀번호가 Admin1pwd인 호스트 machineA의 집합체 제어기의 경우 다음 명령을 실행하여 키 저장소를 생성하고 해당 비밀번호를 kspwd로 설정하십시오.
collective genKey --host=machineA --password=Admin1pwd --port=1090 --user=Admin1 --keystorePassword=kspwd --autoAcceptCertificates
필요한 옵션 수를 줄이려면 --user, --password,
--host 및 --port 대신 --controller 옵션을 사용하십시오.
collective genKey --controller=Admin1:Admin1pwd@machineA:1090 --keystorePassword=kspwd --autoAcceptCertificates
이 예제에는 genKey 명령에 대한 필수 설정이 포함되어 있습니다.
- --host=collectiveControllerHost
- 대상 집합체 제어기의 호스트 이름
- --password=collectiveControllerAdminUserPassword
- 대상 집합체 제어기 관리 사용자의 비밀번호입니다. 비밀번호가 지정되지 않은 경우에는 --user 설정에 의해 지정된 관리 사용자의 비밀번호를 입력하라는 프롬프트가 표시됩니다.
- --port=collectiveControllerHTTPSPort
- 대상 집합체 제어기의 HTTPS 포트 번호
- --user=collectiveControllerAdminUserID
- 대상 집합체 제어기의 관리 사용자
- --keystorePassword=generatedKeystorePassword
- 생성되는 키 저장소의 비밀번호입니다. 비밀번호를 지정하지만 값이 정의되지 않은 경우에는 비밀번호를 입력하라는 프롬프트가 표시됩니다.
genKey 명령에는 선택적 설정도 있습니다.
- --autoAcceptCertificates
- 이 명령 실행 중에는 SSL 인증서를 자동으로 신뢰합니다.
- --certificateSubject=DN
- 생성되는 SSL 인증서의 식별 이름(DN)입니다. 기본 DN은 다음과 같습니다.
CN=localhost,OU=client,O=ibm,C=usCN=localhost,OU=client,O=ibm,C=usCN=localhost,OU=client,O=ibm,C=usCN=localhost,OU=client,O=ibm,C=us
- --certificateValidity=numberOfDays
- 생성되는 SSL 인증서가 유효한 기간(일)입니다. 기본 유효 기간은 1825일(5년)입니다. 최소 유효 기간은 365일입니다.
- --keystoreFile=filePath
- 키 저장소가 작성되는 파일입니다. 기본값은 현재 디렉토리에 있는 key.jks 파일입니다.
- --key=key
- aes 인코딩에 사용할 키입니다. 본 제품은 지정된 키 문자열을 해시하여 비밀번호 암호화 및 복호화에 사용할 암호화 키를 생성합니다. 해당 키를 서버에 제공하려면 값이 해당 키인 wlp.password.encryption.key 변수를 정의하십시오. 이 옵션을 지정하지 않으면 제품이 기본 키를 제공합니다.