Keystores
Liberty kann nur den Keystore-Typ "Java™ Keystore" (JKS) erstellen. Die Unterstützung für andere Keystore-Typen in Liberty kann abhängig davon sein, was von der zugrunde liegenden JRE (Java Runtime Environment) unterstützt wird.
Weitere Informationen zu den Konfigurationsattributen des Elements keystore finden Sie unter SSL-Konfigurationsattribute.
JKS und JCEKS
Java Keystore (JKS) und Java Cryptography Extensions Keystore (JCEKS) werden von der IBM JRE und der Oracle JRE gemeinsam genutzt und können über jede JRE gleich konfiguriert werden. JKS ist der Standardkeystore-Typ in Liberty und der einzige Keystore-Typ, der von Liberty erstellt werden kann. Wird kein Keystore-Typ in der Konfiguration angegeben, wird JKS verwendet.
<keyStore id="sampleJKSKeyStore"
location="MyKeyStoreFile.jks"
type="JKS" password="myPassword" />
<keyStore id="sampleJCEKSKeyStore"
location="MyKeyStoreFile.jceks"
type="JCEKS" password="myPassword" />
PKCS11-Keystore
Ein Hardwareverschlüsselungskeystore kann so konfiguriert werden, dass der Liberty-Server für die Bereitstellung von Verschlüsselungstoken verwendet werden kann.
name = HWDevice
library = /opt/foo/lib/libpkcs11.so
Das Attribut name ist ein Name, der dieser Instanz der Einheit gegeben wird. Das Attribut library enthält einen Pfad zu der von der Hardwareeinheit für den Zugriff auf die Einheit bereitgestellten Bibliothek. Die Konfigurationsdatei kann außerdem speziell für die Hardwareeinheit geltende Konfigurationsdaten enthalten.
- id - Mit diesem Feld wird das Element keystore eindeutig in der Konfiguration identifiziert.
- location - Der Pfad zur hardwareeinheitenspezifischen Konfigurationsdatei.
- type - PKCS11 muss als Keystore-Typ angegeben werden.
- fileBased - Muss "false" sein, damit dieser Keystore als Einheit erkannt wird.
- password - Kennwort, das für den Zugriff auf Schlüssel in der Einheit erfroderlich ist.
- provider - Der erforderliche Provider. Für die IBM® JRE muss der Wert IBMPKCS11Impl und für die Oracle JRE muss der Wert SunPKCS11 sein.
<keyStore id="hwKeyStore"
location="${server.config.dir}/HWCrypto.cfg"
type="PKCS11"
fileBased="false"
password="{xor}Lz4sLCgwLTs="
provider="IBMPKCS11Impl"/>
PKCS12-Keystore
<keyStore id="samplePKCS12KeyStore"
location="MyKeyStoreFile.p12"
type="PKCS12" password="myPassword" />
CMS-Keystore
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
<keyStore id="sampleCMSKeyStore"
password="myPassword"
location="MyKeyStoreFile.kdb"
provider="IBMCMSProvider"
type="CMSKS"/>

RACF-Schlüsselringtypen
RACF-Schlüsselringe können zwar als Keystores unter z/OS von Liberty verwendet, aber nicht von Liberty erstellt werden. Die zwei verfügbaren Schlüsselringtypen sind JCERACFKS und JCEHYBRIDRACFKS.
- JCERACFKS-Keystore
- JCERACFKS ist ein RACF-Schlüsselringtyp. RACF muss zunächst eingerichtet werden, damit Liberty dieses Programm verwenden kann. Geben Sie im Attribut location für den Schlüsselring eine URL an und setzen Sie das Attribut fileBased auf false.
- Nachfolgend sehen Sie ein Beispiel für die Konfiguration eines JCERACFKS-Keystores:
<keyStore id="sampleKeyring" location="safkeyring:///Keyring" type="JCERACFKS" password="password" fileBased="false" readOnly="true" />
- JCEHYBRIDRACFKS-Keystore
- JCEHYBRIDRACFKS ist ein spezieller Schlüsselring, der prüft, ob ein Hardware-Keystore-Typ konfiguriert ist. Wenn der JCEHYBRIDRACFKS-Keystore nicht konfiguriert ist, wird der RACF-Schlüsselring verwendet. Er wird unter IBM Java 7 SR3 und höher unterstützt. Sie müssen die Datei java.security bearbeiten und die Klasse com.ibm.crypto.ibmjcehybrid.provider.IBMJCEHYBRID am Anfang der Providerliste hinzufügen. Stellen Sie sicher, dass die Providerzahlen für den neuen Eintrag angepasst werden.
- Nachfolgend sehen Sie ein Beispiel für die Konfiguration eines JCEHYBRIDRACFKS-Keystores:
<keyStore id="sampleHybridKeyring" location="safkeyringhybrid:///HybridKeyring" type="JCEHYBRIDRACFKS" password="{xor}Lz4sLCgwLTs=" fileBased="false" readOnly="true" />