SSL에 대한 키 저장소 구성

키 저장소 구성을 사용하여 WebSphere® Application Server의 런타임이 SSL(Secure Sockets Layer) 구성에 대한 키 저장소 유형을 로드 및 관리하는 방법을 정의하십시오.

기본적으로 java.security.Security.getAlgorithms("KeyStore") 속성은 관리 콘솔에 사전 정의된 키 저장소 유형 목록을 표시하지 않습니다. 그 대신에 WebSphere Application Server는 java.security.KeyStore 오브젝트가 참조할 수 있는 모든 KeyStore 유형을 검색하며, 여기에는 하드웨어 비밀번호, z/OS® 플랫폼, IBM® i 플랫폼, IBM Java™ Cryptography Extension(IBMJCE) 및 Java 기반 CMS(Certificate Management Services) 제공자 키 저장소가 포함됩니다. java.security 파일에 키 저장소 제공자를 지정하거나 이를 제공자 목록에 프로그래밍 방식으로 추가하는 경우, WebSphere Application Sever는 사용자 정의 키 저장소도 검색합니다. 검색 목록은 해당 프로세스 및 프로세스의 java.security 구성에 따라 다릅니다.

IBMJCE 파일 기반 키 저장소(JCEKS, JKS, PKCS12)

일반 IBMJCE 파일 기반 키 저장소 구성이 다음 샘플 코드에 표시됩니다.
<keyStores xmi:id="KeyStore_1" name="NodeDefaultKeyStore" 
password="{xor}349dkckdd=" provider="IBMJCE"
location="${USER_INSTALL_ROOT}/config/cells/myhostNode01Cell
/nodes/myhostNode01/key.p12" type="PKCS12" fileBased="true" 
hostList="" initializeAtStartup="true" readOnly="false" 
description="Default key store for myhostNode01" usage="SSLKeys" 
managementScope="ManagementScope_1"/>
기본 키 저장소 구성에 대한 자세한 정보는 SSL의 기본 체인 인증서 구성의 내용을 참조하십시오.
테이블 1은 샘플 코드에 사용되는 속성을 설명합니다.
표 1. 키 저장소 구성. 이 테이블은 키 저장소 구성을 설명합니다.
속성 이름 Default 설명
xmi:id 다름 구성의 다른 영역에서 키 저장소 참조를 위해 발생되는 값으로 예를 들어, SSL 구성입니다. 이 값이 security.xml 파일에서 고유해야 합니다.
이름 JSSE 키 저장소: CellDefaultKeyStore. JSSE 신뢰 저장소: CellDefaultTrustStore. 보는 것으로 키 저장소를 식별하는 데 사용되는 이름. 이름은 키 저장소가 이름이 DefaultKeyStore 또는 DefaultTrustStore로 끝나는지 여부에 따라 기본 키 저장소인지를 판별할 수 있습니다.
비밀번호 기본 키 저장소 비밀번호는 WebAS입니다. 이는 가능한 빨리 변경되도록 권장합니다. 자세한 정보는 스크립트를 사용하여 기본 키 저장소 비밀번호 업데이트의 내용을 참조하십시오. 키 저장소 이름 액세스에 사용하는 비밀번호는 키 저장소 내에 키를 저장하는 데 사용하는 기본값입니다.
설명 기본값 없음 키 저장소의 설명입니다.
사용법 키 저장소가 사용되는 용도를 지정하는 속성. 유효한 값: SSLKeys, KeySetKeys, RootKeys, DeletedKeys, DefaultSigners, RSATokenKeys.
provider 기본 제공자는 IBMJCE입니다. 유형 속성을 구현하는 Java 제공자입니다(예: PKCS12 유형). 제공자는 지정 가능하며 지정된 키 저장소 유형을 구현하는 첫 번째 제공자가 사용됩니다.
location 기본값은 다르지만 일반적으로 구성 저장소의 노드 또는 셀 디렉토리에서 key.p12 파일이나 trust.p12 파일을 참조합니다. 이 파일은 PKCS12 유형의 키 저장소입니다. 키 저장소 위치 참조. 키 저장소가 파일 기반인 경우, 위치는 키 저장소가 있는 노드의 파일 시스템의 모든 경로를 참조할 수 있습니다. 그렇지만 위치가 구성 저장소 밖이고 관리 콘솔이나 wsadamin 유틸리티에서 키 저장소를 원격으로 관리하려는 경우, 상주하는 노드의 호스트 이름이 포함된 hostList 속성을 지정하십시오.
유형 기본 Java 비밀번호 사용 디바이스 키 저장소 유형은 PKCS12입니다. 이 유형은 키 저장소를 지정합니다. 유효한 유형은 java.security.Security.getAlgorithms("KeyStore") 속성으로 리턴되는 유형입니다. 이 유형에는 다음과 같은 키 저장소 유형이 포함되며 가용성은 프로세스 및 플랫폼 java.security 구성에 따라 다릅니다.
  • JKS
  • JCEKS
  • PKCS12
  • PKCS11 (Java 비밀번호 사용 디바이스)
  • CMSKS
  • IBMi5OSKeyStore
  • JCERACFKS
  • JCECCAKS 키 저장소(JCE4758KS 대체) - (z/OS 비밀번호 사용 디바이스)
fileBased 기본값은 true입니다. 이 옵션은 기본 키 저장소에 필요합니다. 이는 파일 시스템 키 저장소를 표시하기 때문에 키 저장소 로드 및 저장에 FileInputStream 또는 FileOutputStream을 사용할 수 있습니다.
hostList hostList 속성은 키 저장소의 원격 관리가 가능하도록 원격 호스트 이름을 지정하는 데 사용됩니다. 기본적으로 원격으로 관리되는 키 저장소는 없습니다. 모든 기본 키 저장소는 구성 저장소에서 로컬로 관리되고 각 노드에 동기화됩니다. 옵션은 키 저장소를 원격으로 관리합니다. 키 저장소에 대해 유효한 노드의 호스트 이름을 설정할 수 있습니다. 관리 콘솔 또는 wsadmin 유틸리티를 사용하여 이 키 저장소의 인증서를 관리하는 경우 MBean 호출이 승인된 조작에 대한 키 저장소가 있는 노드에 대해 작성됩니다. 키 저장소 동기화 조작이 보장되지는 않지만 여러 개의 호스트를 지정할 수는 있습니다. 예를 들어, 나열된 호스트 중 하나는 특정 조작 수행 시 중지되었을 수 있습니다. 따라서 이 목록의 다중 호스트를 사용하십시오.
initializeAtStartup 기본값은 true입니다. 이 옵션은 런타임에 시작 중 키 저장소 초기화를 지시합니다. 이 옵션은 하드웨어 비밀번호 사용 디바이스 가속화에 중요할 수 있습니다.
readOnly 기본값은 false입니다. 이 옵션은 이 키 저장소에 기록할 수 없는 구성을 통지합니다. 즉, 키 저장소의 특정 업데이트 조작은 시도할 수 없으며 허용되지 않습니다. 읽기 전용 키 저장소 유형의 예는 z/OS 플랫폼의 JCERACFKS입니다. 이 유형은 WebSphere 인증서 관리 관점에서 읽기 전용이지만 RACF®에 대한 키 저장소 관리 기능을 사용해서도 업데이트할 수 있습니다.

[z/OS]선택적으로 인증서 관리 기능에서 사용되도록 추가 키 저장소 구성을 사용하는 쓰기 가능 키링 지원을 구성할 수 있습니다. 쓰기 가능 키 저장소 구성 오브젝트에 대한 자세한 정보는 쓰기 가능 SAF 키 링 작성쓰기 가능 SAF 키 링 사용의 내용을 참조하십시오.

managementScope 기본 범위는 기본 애플리케이션 서버 환경의 노드 범위 및 네트워크 배치 환경의 셀 범위입니다. 이 옵션은 이 키 저장소를 볼 수 있는 특정 관리 범위를 참조합니다. 예를 들어, 하드웨어 비밀번호 사용 디바이스가 실제로 특정 노드에 있는 경우 보안 > 보안 통신 > SSL 구성에서 토폴로지 보기에 해당 노드에 대한 링크에서 키 저장소를 작성하십시오. 관리 범위를 사용하여 키 저장소 참조를 분리할 수도 있습니다. 어떤 경우에는 특정 애플리케이션 서버만 키 저장소를 참조하도록 허용해야 할 수도 있습니다. 관리 범위는 해당 특정 서버의 범위입니다.
[z/OS]

z/OS 키 저장소

WebSphere Application Server는 IBMJCE 파일 기반 키 저장소, Java Cryptography Extension Key Stores(JCEKS), Java Key Stores(JKS), 공개 키 비밀번호 표준 12(PKCS12), z/OS 특정 키 저장소를 지원합니다. z/OS의 IBMJCE 파일 기반 키 저장소 지원은 분산 플랫폼 지원과 완벽하게 호환되며 이와 유사합니다.

IBMJCECCA 제공자는 이전 릴리스에서의 IBMJCE4758 제공자를 확장하고 대체합니다. IBMJCECCA 제공자 및 IBMJCE4758 제공자는 기능상 동등합니다. IBMJCECCA 제공자는 네 개의 키 저장소인 JCECCAKS (JCE4758KS) 및 JCECCARACFKS (JCE4758RACFKS)를 지원합니다.

JCECCAKS 키 저장소는 z/OS 하드웨어에 저장되어 ICSF에서 관리되는 키를 사용합니다. JCECCARACFKS 키 저장소는 RACF 키링에 저장되고 관리되는 인증서를 처리하고 키는 z/OS 하드웨어에 저장됩니다. JCE4758KS 및 JCE4758RACFKS 키 저장소는 역호환성을 위해 포함되지만 더 이상 사용되지 않습니다. JCECCAKS 키 저장소는 JCE4758KS 키 저장소를 확장하고 대체합니다. JCECCARACFKS 키 저장소는 JCE4758RACFKS 키 저장소를 확장하고 대체합니다.

z/OS 플랫폼은 WebSphere Application Server on z/OS에서 사용할 수 있는 세 개의 추가 키 저장소를 제공합니다.
  • JCECCAKS 키 저장소(JCE4758KS 대체)는 z/OS 하드웨어에 저장되는 키와 ICSF(Integrated Cryptographic Services Facility)에서 관리되는 키를 사용합니다.
  • JCERACFKS 키 저장소는 Resource Access Control Facility(RACF) 키 저장소에 포함되는 키와 인증서를 지원하기 위해 사용되는 RACF 기반 키 저장소입니다. ICSF에 저장된 키 자료는 이 키 저장소 유형으로 지원됩니다.
  • JCECCARACFKS(JCE4758RACFKS 확장 및 대체) 키 저장소는 RACF 기반의 키 저장소로 z/OS 하드웨어에 저장되는 키와 같이 RACF 키 저장소에 포함되는 인증서 지원에 사용됩니다. ICSF 옵션은 RACF RACDCERT와 같이 지정해야 합니다.
참고:
  • 키 저장소 유형 IBMJCE 제공자용 JCERACFKS, IBMJCECCA 제공자용 JCECCARACFKS는 SAF가 사용 가능한 z/OS 플랫폼에서만 사용할 수 있습니다.
  • 관리 콘솔을 사용하여 개인 인증서를 HFS에 Base64 인코드 ASCII 데이터 유형 또는 2진 DER 데이터 유형으로 추출할 수 있습니다. 그렇지만 SSL 구성의 키 저장소 유형이 JCERACFKS인 경우, 0바이트 파일이 HFS에 작성됩니다.
  • 비밀번호를 요구하는 JCE 키 저장소와 호환되려면 JCERACFKS에는 비밀번호가 필요하지만 비밀번호는 password여야 합니다. 이 키 저장소의 보안은 다른 키 저장소 유형처럼 실제로 비밀번호로 보호되지는 않으며 RACF를 사용하는 보호에 대한 스레드 실행 ID를 기반으로 합니다. 이 비밀번호는 경로 필드에 지정한 키 저장소 파일용입니다.

IBMJCE 제공자는 이전에 나열된 z/OS 특정 키 저장소 세트에서 JCERACFKS 키 저장소만 지원합니다. IBMJCE 제공자는 JCECCAKS 또는 JCECCARACFKS 키 저장소가 하드웨어에 특정되기 때문에 이를 사용할 수 없습니다.

IBMJCECCA 제공자는 JCERACFKS, JKS, JCEK 키 저장소에 대한 소프트웨어 키 자료를 지원하며 하드웨어 가속화를 활용할 수 있습니다.

새 키 저장소 클래스인 JceRACFKeyStore가 IBMJCE 및 IBMJCECCA 제공자에 추가되었습니다. 이 키 저장소는 WebSphere Application Server가 키링에서 읽도록 허용하기 때문에 키링에서 인증서와 키링을 검색할 때 이 클래스를 사용하십시오. 그렇지만 서버가 키링에 데이터를 쓰려고 하면 IOException 예외가 처리됩니다. RACFInputStream이 모든 키 저장소에 대해 작동하기 때문에 서버가 JceRACFKeyStore 클래스가 아닌 다른 키 저장소를 사용하는 경우 RACF에 저장된 데이터가 HFS(Hierarchical File System) 파일에 실수로 기록될 수 있습니다.

RACFInputStream은 SAF(System Authorization Facility) 키링 구현에 다음 메소드 중 하나를 사용하여 저장되는 키와 인증서에 액세스할 수 있습니다.
  • RACFInputStream을 직접 사용하여 새로 작성한 인스턴스를 JceRACFKeyStore 클래스에 전달하십시오.
  • URLStreamHandler를 사용하여 RACFInputStream을 호출하고 인스턴스를 JceRACFKeyStore 클래스에 전달하십시오.
자세한 정보는 RACF 키링 설정의 내용을 참조하십시오.

JceRACFKeyStore 및 RACFInputStream을 포함하여 모든 JAVA RACF 서비스에 대해 R_datalib(IRRSDL00) 서비스를 사용하여 RACF에서 인증서를 검색하십시오. 그렇지만 이 서비스를 사용하려면 임의 RACF 클래스를 사용하기 전에 R_datalib에 대한 권한을 확보해야 합니다. 필요한 권한 설정 방법에 대한 자세한 정보는 OS/390® 보안 서버 호출 가능 서비스 안내서를 참조하십시오.

CMS 키 저장소

일부 제공자 특정 속성을 CMS 키 저장소에 설정할 수 있습니다.

[z/OS][AIX Solaris HP-UX Linux Windows]CMSKS 제공자가 createStashFileForCMS 속성을 지원하고 속성을 CMSKS 키 저장소에 대해 true로 설정하는 경우 WebSphere Application Server는 .sth 파일을 속성에 참조하는 키 저장소 위치에 작성합니다. .sth 확장자가 키 저장소 이름에 추가됩니다. 예를 들어, CMSKS 키 저장소가 플러그인 구성에서 사용 가능하고 createStashFileForCMS를 true로 설정하는 경우, 다음 샘플 코드에서 표시되는 숨김 파일은 ${USER_INSTALL_ROOT}\profiles\AppSrv01/config/cells/myhostCell01/nodes/myhostNode01/servers/webserver1/plugin-key.sth 경로에 작성됩니다.
<keyStores xmi:id="KeyStore_1132071489571" name="CMSKeyStore" 
password="{xor}HRYNFAtrbxEwOzpvbhw6MzM=" provider="IBMCMSProvider" 
location="${USER_INSTALL_ROOT}\profiles\AppSrv01/config/cells/myhostCell01
/nodes/myhostNode01/servers/webserver1/plugin-key.kdb" type="CMSKS"
fileBased="true" createStashFileForCMS="true"
managementScope="ManagementScope_1132071489569"/>
다음 샘플 코드에 표시되는 것처럼 CMS 키 저장소를 작성하는 경우 CMS 제공자는 IBMi5OSJSSEProvider이고 CMS 유형은 IBMi5OSKeyStore입니다.
<keyStores xmi:id="KeyStore_1132071489571" name="CMSKeyStore" 
password="{xor}HRYNFAtrbxEwOzpvbhw6MzM=" provider="IBMi5OSJSSEProvider" 
location="${USER_INSTALL_ROOT}\profiles\AppSrv01/config/cells/myhostCell01
/nodes/myhostNode01/servers/webserver1/plugin-key.kdb" type="IBMi5OSKeyStore"
fileBased="true" createStashFileForCMS="true" 
managementScope="ManagementScope_1132071489569"/>
[IBM i]참고: IBM i 키 저장소 유형 IBMi5OSKeyStore.sth 비밀번호 숨김 파일을 인식 또는 생성하지 않습니다. 대신, 작성된 .kdb 키 저장소의 비밀번호 내부 레코드를 보존합니다. .kdb 파일이 이동되는 경우 비밀번호는 더 이상 키 저장소와 연관되지 않습니다. 이 경우, 디지털 서명 관리자(DCM)는 .kdb 키 저장소 파일에 대한 비밀번호의 내부 레코드를 다시 작성하는 데 사용되어야 합니다. 자세한 정보는 .kdb 키 저장소 내부 비밀번호 레코드 재작성의 내용을 참조하십시오.
[IBM i]주의: 체인된 개인 인증서를 작성하거나 IBMi5OSKeyStore로 requestCACertificate 태스크를 사용하는 경우, IBMi5OSJSSEProvider에서 체인의 각 파트에 대한 서명자가 새 인증서 작성 전에 키 저장소에 있도록 요청합니다. 따라서, 인증서를 작성하기 전에 서명자를 IBMi5OSKeyStore 키 저장소에 가져와야 합니다.

하드웨어 비밀번호 키 저장소

비밀번호를 사용하는 디바이스 구성인 경우 암호화 사용을 위한 키 관리의 내용을 참조하십시오.

사용자 정의 특성 com.ibm.ssl.keyStoreSlot 또는 구성 속성 slot="0"으로 슬롯을 추가해야 합니다. 사용자 정의 특성은 역호환성을 위해 속성 전에 읽습니다.


주제 유형을 표시하는 아이콘 개념 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=csec_sslkeystoreconfs
파일 이름:csec_sslkeystoreconfs.html