Configuraciones de almacén de claves para SSL
Utilice las configuraciones de almacén de claves para definir cómo el tiempo de ejecución de WebSphere carga y gestiona los tipos de almacén de claves para las configuraciones SSL (Secure Sockets Layer).
De forma predeterminada, el atributo java.security.Security.getAlgorithms("KeyStore") no muestra una lista predefinida de los tipos de almacén de claves en la consola administrativa. En lugar de ello, WebSphere Application Server recupera todos los tipos de almacén de claves a los que el objeto java.security.KeyStore puede hacer referencia, incluyendo almacenes de claves criptográficos de hardware, de plataforma z/OS, de plataforma IBM® i, de IBMJCE (IBM Java™ Cryptography Extension) y de proveedores CMS (Certificate Management Services) basados en Java. Si especifica un proveedor de almacén de claves en el archivo java.security o lo añade a la lista de proveedores de forma programada, WebSphere Application Server también recupera los almacenes de claves personalizados. La lista de recuperación depende de la configuración de java.security para esa plataforma y proceso.
Almacenes de claves basados en el archivo IBMJCE (JCEKS, JKS y PKCS12)
<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"/>
Para obtener más
información sobre las configuraciones de almacén de claves predeterminadas,
consulte
Configuración de certificado encadenado predeterminado en SSL. Nombre de atributo | Valor predeterminado | Descripción |
---|---|---|
xmi:id | Varía | Valor que se emite para hacer referencia al almacén de claves de otra área de la configuración, por ejemplo, de una configuración SSL. Asegúrese de que este valor es exclusivo en el archivo security.xml. |
nombre | Para el almacén de claves JSSE: CellDefaultKeyStore. Para el almacén de confianza JSSE: CellDefaultTrustStore. | Nombre que se utiliza para identificar el almacén de claves visualmente. El nombre puede determinar si el almacén de claves es un almacén de claves por omisión basándose en si el nombre termina por DefaultKeyStore o DefaultTrustStore. |
password | La contraseña predeterminada del almacén de claves es WebAS. Se recomienda que se cambia tan pronto como sea posible. Para obtener más información, consulte el apartado Actualización de contraseñas de almacén de claves predeterminado utilizando scripts. | La contraseña que se utiliza para acceder al nombre de almacén de claves también es el valor predeterminado utilizado para almacenar claves en el almacén de claves. |
descripción | Sin valor predeterminado | Descripción del almacén de claves. |
uso | Atributo que especifica para qué se utiliza el almacén de claves. | Los valores válidos son: SSLKeys, KeySetKeys, RootKeys, DeletedKeys, DefaultSigners, RSATokenKeys. |
provider | El proveedor por omisión es IBMJCE. | Proveedor Java que implementa el atributo type (por ejemplo, el tipo PKCS12). El proveedor puede dejarse sin especificar y se utiliza el primer proveedor que implemente el tipo de almacén de claves especificado. |
location | El valor predeterminado varía, pero generalmente hace referencia a un archivo key.p12 o trust.p12 de los directorios de nodo o célula del repositorio de configuración. Estos archivos son almacenes de claves de tipo PKCS12. | Referencia de la ubicación del almacén de claves. Si el almacén de claves esta basado en un archivo, la ubicación puede hacer referencia a cualquier vía de acceso del sistema de archivos del nodo donde esté ubicado el almacén de claves. No obstante, si la ubicación está fuera del repositorio de configuración y desea gestionar el almacén de claves de forma remota desde la consola administrativa o desde el programa de utilidad wsadamin, especifique el atributo hostList que contiene el nombre de host del nodo donde reside. |
type | El tipo de almacén de claves predeterminado de dispositivo criptográfico Java es PKCS12. | Este tipo especifica el almacén de claves. Los
tipos válidos pueden ser los devueltos por el atributo
java.security.Security.getAlgorithms("KeyStore"). Estos tipos incluyen los
siguientes tipos de almacén de claves y la disponibilidad depende de
la configuración de java.security de la plataforma:
|
fileBased | El valor predeterminado es true. | Esta opción es necesaria para los almacenes de claves por omisión. Indica un almacén de claves del sistema de archivos para que pueda utilizar FileInputStream o FileOutputStream para cargar y almacenar el almacén de claves. |
hostList | El atributo hostList se utiliza para especificar un nombre de host remoto de modo que el almacén de claves pueda gestionarse de forma remota. No existen almacenes de claves gestionados de forma remota por omisión. Todos los almacenes de claves por omisión se gestionan localmente en el repositorio de configuración y se sincronizan con cada uno de los nodos. | La opción gestiona un almacén de claves de forma remota. Puede establecer el nombre de host de un nodo válido para un almacén de claves. Cuando se utiliza la consola administrativa o el programa de utilidad wsadmin para gestionar los certificados de este almacén de claves, se realiza una llamada de MBean al nodo donde se encuentra el almacén de claves para obtener la operación aprobada. Puede especificar varios hosts, aunque la sincronización de las operaciones de almacén de claves no está garantizada. Por ejemplo, uno de los hosts enumerados puede estar inactivo cuando se realice una operación específica. Por lo tanto, utilice varios hosts de esta lista. |
initializeAtStartup | El valor predeterminado es true. | Esta opción indica al tiempo de ejecución que debe inicializar el almacén de claves durante el inicio. Esta opción puede ser importante para la aceleración de dispositivos criptográficos de hardware. |
readOnly | El valor predeterminado es false. | Esta opción indica a la configuración que no se
puede escribir en este almacén de claves. Es decir, ciertas operaciones
del almacén de claves no puede realizarse y no están permitidas. Un
ejemplo de tipo de almacén de claves de sólo lectura es JCERACFKS en la
plataforma z/OS.
Este tipo es de sólo lectura desde el punto de vista de
la gestión de certificados de WebSphere, pero puede actualizarlo
utilizando el recurso de gestión de almacén de claves para RACF.
|
managementScope | El ámbito por omisión es el ámbito de nodo para un entorno de servidor de aplicaciones base y el ámbito de célula para un entorno de Network Deployment. | Esta opción hace referencia a un determinado ámbito de gestión en el que puede ver este almacén de claves. Por ejemplo, si un dispositivo criptográfico de hardware está ubicado físicamente en un nodo específico, cree el almacén de claves a partir de un enlace con ese nodo de la vista de topología bajo | . Asimismo puede utilizar el ámbito de gestión para aislar una referencia de almacén de claves. En algunos casos, es posible que sólo pueda permitir que un servidor de aplicaciones específico haga referencia al almacén de claves. El ámbito de gestión es para ese servidor específico.
![[z/OS]](../images/ngzos.gif)
Almacenes de claves z/OS
WebSphere Application Server da soporte a los almacenes de claves basados en archivos IBMJCE: JCEKS (Java Cryptography Extension Key Stores), JKS (Java Key Stores) y PKCS12 (Public Key Cryptography Standards 12), así como a los almacenes de claves específicos de z/OS. El soporte de almacén de claves basado en archivos IBMJCE en z/OS es completamente compatible con el soporte en la plataforma distribuida y parecido a él.
El proveedor IBMJCECCA amplía y sustituye el proveedor IBMJCE4758 de releases anteriores. Los proveedores IBMJCECCA y de IBMJCE4758 son funcionalmente equivalentes. El proveedor IBMJCECCA da soporte a cuatro almacenes de claves: JCECCAKS (JCE4758KS) y JCECCARACFKS (JCE4758RACFKS).
El almacén de claves JCECCAKS utiliza claves que se almacenan en el hardware de z/OS y que las gestiona ICSF. El almacén de claves JCECCARACFKS maneja certificados gestionados y almacenados en anillos de claves RACF y las claves se almacenan en el hardware de z/OS. Los almacenes de claves JCE4758KS y JCE4758RACFKS se incluyen para disponer de compatibilidad inversa y están en desuso. El almacén de claves JCECCAKS amplía y sustituye el almacén de claves JCE4758KS. El almacén de claves JCECCARACFKS amplía y sustituye el almacén de claves JCE4758RACFKS.
- Los almacenes de claves JCECCAKS (que sustituyen a JCE4758KS) utilizan claves que se almacenan en el hardware de z/OS y claves que se gestionan en ICSF.
- Los almacenes de claves JCERACFKS están basados en RACF (Resource Access Control Facility) y se utilizan para dar soporte a las claves y certificados contenidos en un almacén de claves RACF. El material de claves almacenado en ICSF no está soportado con este tipo de almacén de claves.
- Los almacenes de claves JCECCARACFKS (que amplían y sustituyen a JCE4758RACFKS) están basados en RACF y se utilizan para dar soporte a los certificados contenidos en un almacén de claves RACF junto con las claves almacenadas en hardware de z/OS. Debe especificarse la opción ICSF con RACF RACDCERT.
- El tipo de almacén de claves, JCERACFKS para el proveedor IBMJCE y JCECCARACFKS para el proveedor IBMJCECCA, sólo está disponible en la plataforma z/OS en que SAF está disponible.
- Puede utilizar la consola administrativa para extraer un certificado personal en HFS como un tipo de datos ASCII codificado en Base64 o como un tipo de datos binario DER. No obstante, si el tipo de almacén de claves de la configuración de SSL es JCERACFKS, se crea un archivo de 0 en HFS.
- Para que sea compatible con el almacén de claves JCE en la solicitud de una contraseña, JCERACFKS requiere una contraseña pero esa contraseña debe ser password. La seguridad de este almacén de claves no se protege realmente mediante una contraseña, como ocurre con otros tipos de almacenes de claves, sino que se basa en la identidad de la hebra de ejecución para la protección con RACF. Esta contraseña es para el archivo de almacén de claves que ha especificado en el campo Vía de acceso.
Un proveedor IBMJCE sólo puede dar soporte al almacén de claves JCERACFKS que aparece en el conjunto de almacenes de claves específicos de z/OS enumerados anteriormente. El proveedor IBMJCE no puede utilizar el material de los almacenes de claves JCECCAKS o JCECCARACFKS, ya que no es específico del hardware.
Un proveedor IBMJCECCA puede dar soporte a los materiales de claves de software para los almacenes de claves JCERACFKS, JKS y JCEKS y aprovecharse de la aceleración de hardware.
Una nueva clase de almacén de claves, JceRACFKeyStore, se ha añadido a los proveedores IBMJCE y IBMJCECCA. Utilice esta clase cuando recupere los certificados y claves de un conjunto de claves ya que este almacén de claves permite que WebSphere Application Server lea un conjunto de claves. No obstante, si el servidor intenta escribir datos en el conjunto de claves, se genera una excepción IOException. Mientras que RACFInputStream funciona con cualquier almacén de claves, es posible que los datos almacenados en RACF puedan escribirse accidentalmente en un archivo HFS (sistema jerárquico de archivos) si el servidor utiliza un almacén de claves distinto de la clase JceRACFKeyStore.
- Utilice RACFInputStream para pasar directamente una instancia recién creada a la clase JceRACFKeyStore
- Utilice URLStreamHandler para llamar a RACFInputStream y, a continuación, pase la instancia a la clase JceRACFKeyStore
Todos los servicios RACF de JAVA, incluidos JceRACFKeyStore y RACFInputStream, utilizan el servicio R_datalib (IRRSDL00) para recuperar certificados de RACF. No obstante, para utilizar este servicio, debe obtener la autorización para R_datalib antes de utilizar cualquier clase RACF de JAVA. Para obtener más información sobre cómo configurar las autorizaciones necesarias, consulte la guía z/OS Security Server Callable Services.
Almacenes de claves CMS
Puede establecer algunos atributos específicos del proveedor en los almacenes de claves CMS.
![[z/OS]](../images/ngzos.gif)
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
<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"/>
<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]](../images/iseries.gif)
![[IBM i]](../images/iseries.gif)
Almacenes de claves criptográficos de hardware
Para la configuración de dispositivos criptográficos, consulte Gestión de claves para los usos criptográficos .
Puede añadir una ranura como la propiedad personalizada com.ibm.ssl.keyStoreSlot, o como el atributo de configuración slot="0". La propiedad personalizada se lee antes que el atributo para la compatibilidad con versiones anteriores.