Control del gestor de claves de identidades del certificado X.509
El rol de un gestor de claves JSEE (Java™ Secure Socket Extension) es recuperar el certificado que se utiliza para identificar el cliente o el servidor durante el reconocimiento de comunicación SSL (Secure Sockets Layer).
- com.ibm.ssl.keyStoreClientAlias
- Define el alias que se escoge del almacén de claves para el extremo del cliente de una conexión. Este alias debe estar presente en el almacén de claves.
- com.ibm.ssl.keyStoreServerAlias
- Define el alias que se escoge del almacén de claves para el extremo del servidor de una conexión. Este alias debe estar presente en el almacén de claves.
Con WebSphere Application Server, sólo puede configurar un gestor de claves cada vez para una determinada configuración SSL. Si desea una lógica de selección de certificado personalizada en el extremo del cliente, debe escribir un nuevo gestor de claves personalizado. El gestor de claves personalizado puede proporcionar la función que solicita al usuario que escoja un certificado dinámicamente. Asimismo, puede implementar una interfaz ampliada para que un gestor de claves pueda proporcionar información durante el tiempo de conexión. Para obtener más información sobre la interfaz ampliada, consulte la interfaz com.ibm.wsspi.ssl.KeyManagerExtendedInfo. Para obtener más información sobre el desarrollo del gestor de claves personalizado, consulte Creación de un gestor de claves personalizado para SSL.
Gestor de claves IbmX509 por omisión
El gestor de claves IbmX509 por omisión escoge un certificado para que actúe como la identidad de un reconocimiento de comunicación SSL. Se llama al gestor de claves para habilitar la autenticación de cliente en ambos extremos del reconocimiento de comunicación SSL, frecuentemente en el extremo del servidor y con menos frecuencia en el extremo del cliente en función de los requisitos del cliente y el servidor. Si un almacén de claves no está configurado en el extremo del cliente y la autenticación de cliente SSL está habilitada, el gestor de claves no puede seleccionar un certificado para enviarlo al servidor. Por lo tanto, se genera un error en el reconocimiento de comunicación.
<keyManagers xmi:id="KeyManager_1" name="IbmX509"
provider="IBMJSSE2" algorithm="IbmX509" keyManagerClass=""
managementScope="ManagementScope_1"/>
No debe especificar la
clase keyManagerClass porque el proveedor IBMJSSE2 proporciona el gestor
de claves. No obstante, puede especificar si el gestor de claves es una
implementación de clase personalizada, en cuyo caso debe especificar la
clase keyManager, o un nombre de algoritmo que WebSphere Application Server
puede iniciar desde la infraestructura del proveedor de seguridad Java.Gestor de claves personalizado
En el código de ejemplo siguiente se muestra la configuración del gestor de claves del archivo security.xml para una clase personalizada.<keyManagers xmi:id="KeyManager_2" name="CustomKeyManager"
keyManagerClass="com.ibm.ws.ssl.core.CustomKeyManager"
managementScope="ManagementScope_1"/>
La clase personalizada
debe implementar la interfaz javax.net.ssl.X509KeyManager y,
opcionalmente, implementar la interfaz
com.ibm.wsspi.ssl.KeyManagerExtendedInfo para recuperar información
adicional de WebSphere Application Server. Esta interfaz sustituye a la
función del gestor de claves por omisión porque sólo se puede configurar un
gestor de claves cada vez.
Por lo tanto, el gestor de claves personalizado
tiene toda la responsabilidad de seleccionar el alias que se va a utilizar
del almacén de claves configurado. La ventaja de un gestor de claves
personalizado es la capacidad, en el extremo del cliente, de solicitar
un alias.
Este proceso permite al usuario decidir qué certificado se debe
utilizar en situaciones en las que el usuario conoce la
identidad de certificado del cliente. Para obtener más información, consulte Creación de un gestor de claves personalizado para SSL.