Almacenes de claves

Liberty solo puede crear un tipo de almacén de claves de Java™ Keystore (JKS). El soporte para otros tipos de almacén de claves en Liberty puede depender de lo qué soporta el Java Runtime Environment (JRE) subyacente.

Para obtener más información sobre los atributos de configuración del elemento keystore, consulte atributos de configuración SSL.

JKS y JCEKS

Java Keystore (JKS) and Java Cryptography Extensions Keystore (JCEKS) son comunes entre el IBM JRE y el Oracle JRE, y se pueden configurar igual utilizando cualquier JRE. JKS es el tipo de almacén de claves predeterminado en Liberty, y el único tipo de almacén de claves que puede crear Liberty. Si no se especifica ningún tipo de almacén de claves en la configuración, se utiliza JKS.

Un ejemplo de configuración de almacén de claves JKS es como se muestra a continuación:
     <keyStore id="sampleJKSKeyStore"
      location="MyKeyStoreFile.jks"
      type="JKS" password="myPassword" />
Un ejemplo de configuración de almacén de claves JCEKS es el siguiente:
    <keyStore id="sampleJCEKSKeyStore"
     location="MyKeyStoreFile.jceks"
     type="JCEKS" password="myPassword" />

Almacén de claves PKCS11

Se puede configurar un almacén de claves criptográfico de hardware de forma que el servidor Liberty se puede utilizar para proporcionar soporte de señal criptográfica.

El usuario debe proporcionar un archivo de configuración específico de dispositivo de hardware. El archivo de configuración es un archivo de texto que contiene entradas con el formato de atributo = valor. El archivo debe contener al menos los atributos name y library. Por ejemplo:
name = HWDevice
library = /opt/foo/lib/libpkcs11.so

El atributo name es un nombre que se da a esta instancia del dispositivo. El atributo library contiene una vía de acceso a la biblioteca proporcionada por el dispositivo de hardware para acceder al dispositivo. El archivo de configuración también puede contener datos de configuración específicos del dispositivo de hardware.

Para configurar un almacén de claves PKCS11 en el elemento de Liberty keystore debe contener los campos siguientes:
  • id: identifica de forma exclusiva el elemento keystore en la configuración.
  • location: vía de acceso al archivo de configuración específico del dispositivo de hardware.
  • type: PKCS11 debe especificarse como el tipo de almacén de claves.
  • fileBased: debe ser falso para identificar este almacén de claves como un dispositivo.
  • password : contraseña que se necesita para acceder a claves en el dispositivo.
  • provider: proveedor que se necesita. Para IBM® JRE, el valor debe ser IBMPKCS11Impl y, para Oracle JRE, debe ser SunPKCS11.
A continuación, se muestra un ejemplo de configuración:
<keyStore id="hwKeyStore" 
          location="${server.config.dir}/HWCrypto.cfg" 
          type="PKCS11" 
          fileBased="false" 
          password="{xor}Lz4sLCgwLTs=" 
          provider="IBMPKCS11Impl"/>  

Almacén de claves PKCS12

Se puede utilizar el almacén de claves de estándares de criptografía de claves públicas #12 (PKCS12), pero no las puede crear Liberty, al utilizar el IBM JRE. Un ejemplo de configuración de almacén de claves PKCS12 es como se muestra a continuación:
    <keyStore id="samplePKCS12KeyStore"
     location="MyKeyStoreFile.p12"
     type="PKCS12" password="myPassword" />

Almacén de claves CMS

El almacén de claves CMS se puede configurar, pero no lo puede crear Liberty, al utilizar el IBM JRE, porque es necesaria una configuración especial. El proveedor de CMS no está disponible de forma predeterminada en IBM JRE, por lo tanto debe añadirse a la lista de proveedores en el archivo java.security de IBM JRE. En el ejemplo siguiente, la clase com.ibm.security.cmskeystore.CMSProvider se añade al final de la lista. Asegúrese de que el número de proveedor es correcto en la lista de proveedores. Liberty no utiliza el archivo de ocultación del almacén de claves CMS para obtener acceso al almacén de claves.
    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
Para utilizar el almacén de claves CMS, la configuración en el archivo server.xml es como se muestra a continuación:
    <keyStore id="sampleCMSKeyStore" 
     password="myPassword"
     location="MyKeyStoreFile.kdb"
     provider="IBMCMSProvider"
     type="CMSKS"/>

Tipos de conjuntos de claves RACF

Los conjuntos de claves RACF se pueden utilizar, pero no las puede crear Liberty, como almacenes de claves en z/OS. Los dos tipos de conjuntos de claves disponibles son JCERACFKS y JCEHYBRIDRACFKS.

Almacén de claves JCERACFKS
JCERACFKS es un tipo de conjunto de claves RACF. Debe configurar RACF, antes de que before Liberty pueda utilizarlo. Proporcione un URL al conjunto de claves en el atributo location, y establezca el atributo fileBased en false.
A continuación se muestra un ejemplo de uso del almacén de claves JCERACFKS:
<keyStore id="sampleKeyring" location="safkeyring:///Keyring" 
 type="JCERACFKS" password="password" fileBased="false"
 readOnly="true" />
Almacén de claves JCEHYBRIDRACFKS
JCEHYBRIDRACFKS es un conjunto de claves especial que comprueba si se ha configurado un tipo de almacén de claves de hardware. Si el almacén de claves JCEHYBRIDRACFKS no está configurado, se utiliza el conjunto de claves RACF. Se soporta en IBM Java 7 SR3 y posterior. Debe editar el archivo java.security y añadir la clase com.ibm.crypto.ibmjcehybrid.provider.IBMJCEHYBRID en la parte superior de la lista de proveedores. Asegúrese de que los números de proveedor se han ajustado para la nueva entrada.
A continuación se muestra un ejemplo de uso del almacén de claves JCEHYBRIDRACFKS:
<keyStore id="sampleHybridKeyring" location="safkeyringhybrid:///HybridKeyring" 
 type="JCEHYBRIDRACFKS" password="{xor}Lz4sLCgwLTs=" fileBased="false" 
 readOnly="true" /> 

Icono que indica el tipo de tema Tema de referencia

Nombre de archivo: rwlp_sec_keystores.html