Magasins de clés
Liberty ne peut créer qu'un type de magasin de clés JKS (magasin de clés Java™). La prise en charge d'autres types de magasin de clés dans Liberty dépend des éléments pris en charge par l'environnement d'exécution Java (JRE) sous-jacent.
Pour plus d'informations sur l'attribut de configuration de l'élément keystore, voir Attributs de configuration SSL.
JKS et JCEKS
Les magasins de clés JKS (Java Keystore) et JCEKS (Java Cryptography Extensions Keystore) sont communs aux JRE IBM et Oracle, et peuvent être configurés à l'identique dans ces deux JRE. JKS est le type de magasin de clés par défaut dans Liberty et le seul type de magasin de clés que Liberty peut créer. Si aucun type de magasin de clés n'est spécifié dans la configuration, JKS est utilisé.
<keyStore id="sampleJKSKeyStore"
location="MyKeyStoreFile.jks"
type="JKS" password="myPassword" />
<keyStore id="sampleJCEKSKeyStore"
location="MyKeyStoreFile.jceks"
type="JCEKS" password="myPassword" />
Magasin de clés PKCS11
Un magasin de clés cryptographique matériel peut être configuré de sorte que le serveur Liberty puisse être utilisé pour fournir la prise en charge de jeton cryptographique.
name = HWDevice
library = /opt/foo/lib/libpkcs11.so
L'attribut name représente le nom qui est attribué à cette instance de l'unité. L'attribut library contient un chemin d'accès à la bibliothèque fournie par l'unité matérielle pour accéder à l'unité. Le fichier de configuration peut également contenir des données spécifiques de l'unité matérielle.
- id - Identifie de manière unique l'élément keystore dans la configuration.
- location - Chemin d'accès au fichier de configuration spécifique de l'unité matérielle.
- type - PKCS11 doit être spécifié comme type de magasin de clés.
- fileBased - Doit avoir pour valeur false pour identifier ce magasin de clés en tant qu'unité.
- password - Mot de passe nécessaire pour accéder aux clés dans l'unité.
- provider - Fournisseur nécessaire. Pour l'environnement d'exécution Java d'IBM®, la valeur doit être IBMPKCS11Impl et pour Oracle JRE, la valeur doit être SunPKCS11.
<keyStore id="hwKeyStore"
location="${server.config.dir}/HWCrypto.cfg"
type="PKCS11"
fileBased="false"
password="{xor}Lz4sLCgwLTs="
provider="IBMPKCS11Impl"/>
Magasin de clés PKCS12
<keyStore id="samplePKCS12KeyStore"
location="MyKeyStoreFile.p12"
type="PKCS12" password="myPassword" />
Magasin de clés 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
<keyStore id="sampleCMSKeyStore"
password="myPassword"
location="MyKeyStoreFile.kdb"
provider="IBMCMSProvider"
type="CMSKS"/>
Types de fichier de clés RACF
Des fichiers de clés RACF peuvent être utilisés mais ne peuvent pas être créés par Liberty, comme des magasins de clés sous z/OS. Les deux types disponibles sont JCERACFKS et JCEHYBRIDRACFKS.
- Magasin de clés JCERACFKS
- JCERACFKS est un fichier de clés RACF. Vous devez configurer RACF pour que Liberty puisse l'utiliser. Fournissez l'adresse URL du fichier de clés dans l'attribut location, et définissez l'attribut fileBased sur false.
- Voici un exemple de magasin de clés JCERACFKS :
<keyStore id="sampleKeyring" location="safkeyring:///Keyring" type="JCERACFKS" password="password" fileBased="false" readOnly="true" />
- Fichier de clés JCEHYBRIDRACFKS
- JCEHYBRIDRACFKS est un fichier de clés spécial qui vérifie si un type de magasin de clés matériel est configuré. Si le fichier de clés JCEHYBRIDRACFKS n'est pas configuré, le fichier de clés RACF est utilisé. Il est pris en charge sur IBM Java 7 SR3 et version ultérieure. Vous devez modifier le fichier java.security et ajouter la classe com.ibm.crypto.ibmjcehybrid.provider.IBMJCEHYBRID au haut de la liste de fournisseurs. Vérifiez que les nombres de fournisseurs sont ajustés pour la nouvelle entrée.
- Voici un exemple d'utilisation du magasin de clés JCEHYBRIDRACFKS :
<keyStore id="sampleHybridKeyring" location="safkeyringhybrid:///HybridKeyring" type="JCEHYBRIDRACFKS" password="{xor}Lz4sLCgwLTs=" fileBased="false" readOnly="true" />