키 저장소

Liberty는 JKS(Java™ Keystore)의 키 저장소 유형만 작성할 수 있습니다. Liberty에서 기타 키 저장소 유형에 대한 지원은 기본 JRE(Java Runtime Environment)가 무엇을 지원하는지에 따라 다를 수 있습니다.

keystore 요소의 구성 속성에 대한 자세한 정보는 SSL 구성 속성의 내용을 참조하십시오.

JKS 및 JCEKS

JKS(Java Keystore) 및 JCEKS(Java Cryptography Extensions Keystore)는 IBM JRE와 Oracle JRE 사이의 공통 부분이며, 하나의 JRE를 사용하여 동일하게 구성될 수 있습니다. JKS는 Liberty의 기본 키 저장소 유형이며, Liberty가 작성할 수 있는 유일한 키 저장소 유형입니다. 구성에서 키 저장소 유형이 지정되자 않은 경우 JKS가 사용됩니다.

JKS 키 저장소 구성의 예제는 다음과 같습니다.
     <keyStore id="sampleJKSKeyStore"
      location="MyKeyStoreFile.jks"
      type="JKS" password="myPassword" />
JCEKS 키 저장소 구성의 예제는 다음과 같습니다.
    <keyStore id="sampleJCEKSKeyStore"
     location="MyKeyStoreFile.jceks"
     type="JCEKS" password="myPassword" />

PKCS11 키 저장소

Liberty 서버를 사용하여 암호화 토큰 지원을 제공할 수 있도록 하드웨어 암호화 키 저장소를 구성할 수 있습니다.

사용자는 하드웨어 디바이스 특정 구성 파일을 제공해야 합니다. 이 구성 파일은 attribute = value 형식의 항목이 포함된 텍스트 파일입니다. 이 파일은 최소한 namelibrary 속성을 포함해야 합니다. 예:
name = HWDevice
library = /opt/foo/lib/libpkcs11.so

name 속성은 디바이스의 이 인스턴스에 제공 중인 이름입니다. library 속성에는 디바이스에 액세스하기 위해 하드웨어 디바이스가 제공하는 라이브러리의 경로가 포함되어 있습니다. 구성 파일에는 하드웨어 디바이스에 고유한 구성 데이터도 포함될 수 있습니다.

Liberty에서 PKCS11 키 저장소를 구성하려면 keystore 요소에 다음과 같은 필드가 포함되어 있어야 합니다.
  • id - 구성에서 keystore 요소를 고유하게 식별합니다.
  • location - 하드웨어 디바이스 특정 구성 파일의 경로입니다.
  • type - PKCS11이 키 저장소 유형으로 지정되어야 합니다.
  • fileBased - 키 저장소를 디바이스로 식별하려면 false여야 합니다.
  • password - 디바이스에서 키에 액세스하기 위해 필요한 비밀번호입니다.
  • provider - 필요한 제공자입니다. IBM® JRE의 경우에는 값이 IBMPKCS11Impl이어야 하고 Oracle JRE의 경우에는 값이 SunPKCS11이어야 합니다.
예제 구성은 다음과 같습니다.
<keyStore id="hwKeyStore" 
          location="${server.config.dir}/HWCrypto.cfg" 
          type="PKCS11" 
          fileBased="false" 
          password="{xor}Lz4sLCgwLTs=" 
          provider="IBMPKCS11Impl"/>  

PKCS12 키 저장소

IBM JRE를 사용할 때 공개 키 암호 표준 #12(PKCS12) 키 저장소가 사용될 수 있지만, 이는 Liberty에 의해 작성되지 않습니다. PKCS12 키 저장소 구성의 예제는 다음과 같습니다.
    <keyStore id="samplePKCS12KeyStore"
     location="MyKeyStoreFile.p12"
     type="PKCS12" password="myPassword" />

CMS 키 저장소

IBM JRE를 사용 중이지만 일부 특수 구성이 필요할 때 CMS 키 저장소가 구성될 수 있지만, 이는 Liberty에 의해 작성되지 않습니다. CMS 제공자는 IBM JRE에서 기본적으로 사용할 수 없으므로 IBM JRE의 java.security 파일에 있는 제공자 목록에 추가해야 합니다. 다음 예제에서 com.ibm.security.cmskeystore.CMSProvider 클래스가 목록의 끝에 추가됩니다. 제공자 목록에서 제공자 번호가 올바른지 확인하십시오. Liberty는 CMS 키 저장소 숨김 파일을 사용하여 키 저장소에 대한 액세스를 확보하지 않습니다.
    security.provider.1=com.ibm.jsse2.IBMJSSEProvider2
    security.provider.2=com.ibm.crypto.provider.IBMJCE
    security.provider.3=com.ibm.security.jgss.IBMJGSSProvider
    security.provider.4=com.ibm.security.cert.IBMCertPath
    security.provider.5=com.ibm.security.sasl.IBMSASL
    security.provider.6=com.ibm.xml.crypto.IBMXMLCryptoProvider
    security.provider.7=com.ibm.xml.enc.IBMXMLEncProvider
    security.provider.8=org.apache.harmony.security.provider.PolicyProvider
    security.provider.9=com.ibm.security.jgss.mech.spnego.IBMSPNEGO
    security.provider.10=com.ibm.security.cmskeystore.CMSProvider
CMS 키 저장소를 사용하려면 server.xml 파일의 구성은 다음과 같습니다.
    <keyStore id="sampleCMSKeyStore" 
     password="myPassword"
     location="MyKeyStoreFile.kdb"
     provider="IBMCMSProvider"
     type="CMSKS"/>
For z/OS platforms

RACF 키 링 유형

z/OS®에서 키 저장소로서 RACF® 키 링이 사용될 수 있지만, 이는 Liberty에 의해 작성되지 않습니다. 사용 가능한 두 개의 키 링 유형은 JCERACFKS 및 JCEHYBRIDRACFKS입니다.

JCERACFKS 키 저장소
JCERACFKS는 RACF 키 링 유형입니다. Liberty가 RACF를 사용할 수 있으려면, 우선 이를 설정해야 합니다. location 속성의 키 링에 대한 URL을 제공하고 fileBased 속성을 false로 설정하십시오.
JCERACFKS 키 저장소 사용의 예는 다음과 같습니다.
<keyStore id="sampleKeyring" location="safkeyring:///Keyring" 
 type="JCERACFKS" password="password" fileBased="false" 
 readOnly="true" />
JCEHYBRIDRACFKS 키 저장소
JCEHYBRIDRACFKS는 하드웨어 키 저장소 유형이 구성되는지 여부를 검사하는 특수 키 링입니다. JCEHYBRIDRACFKS 키 저장소가 구성되지 않은 경우 RACF 키 링이 사용됩니다. 이는 IBM Java 7 SR3 이상에서 지원됩니다. java.security 파일을 편집하고 com.ibm.crypto.ibmjcehybrid.provider.IBMJCEHYBRID 클래스를 제공자 목록의 맨 위에 추가해야 합니다. 제공자 번호가 새 항목에 대해 조정되는지 확인하십시오.
JCEHYBRIDRACFKS 키 저장소 사용의 예는 다음과 같습니다.
<keyStore id="sampleHybridKeyring" location="safkeyringhybrid:///HybridKeyring" 
 type="JCEHYBRIDRACFKS" password="{xor}Lz4sLCgwLTs=" fileBased="false" 
 readOnly="true" /> 

주제의 유형을 표시하는 아이콘 참조 주제

파일 이름: rwlp_sec_keystores.html