Acerca de esta tarea
La autenticación de cliente SSL se produce durante el reconocimiento
de la conexión utilizando certificados SSL. El reconocimiento SSL
es una serie de mensajes intercambiados mediante el protocolo SSL
para negociar una protección de una conexión específica. Durante el reconocimiento, el servidor seguro solicita al cliente que le envíe un
certificado o una cadena de certificados para realizar la autenticación. Para habilitar SSL en
Liberty, añada la característica de Liberty ssl-1.0
al archivo del documento raíz de configuración, server.xml, junto con el código de información del almacén de claves para su autenticación.
De forma predeterminada, la vía de acceso y el nombre del archivo de documento raíz de configuración es vía_acceso_a_liberty/wlp/usr/servers/nombre_servidor/server.xml.
path_to_liberty es la ubicación donde ha instalado Liberty en el sistema operativo, y nombre_servidor es el nombre del servidor. Sin embargo, puede cambiar la vía de acceso. Consulte
Personalizar el entorno Liberty.
- Habilite la característica ssl-1.0
de Liberty en el archivo server.xml.
<featureManager>
<feature>ssl-1.0</feature>
</featureManager>
Nota: Si la seguridad de las aplicaciones es necesaria y la información de seguridad se redirige a un puerto seguro, debe añadir la característica appSecurity-2.0
de Liberty al archivo server.xml.
Cuando está habilitada la característica ssl-1.0, el servidor Liberty crea un SSLContext a partir de la configuración de SSL predeterminada y hace que SSLContext sea el valor de servidor predeterminado llamando a la API Java SSLContext.setDefault(). Esto convierte el SSLContext predeterminado del servidor Liberty en el SSLContext predeterminado del proceso. Si algo realiza la llamada de la API Java SSLContext.getDefault(), el método devuelve el SSLContext de Liberty. Se aplica lo mismo a la API Java SSLSocketFactory.getDefault() en la fábrica de sockets predeterminada a partir del SSLContext predeterminado que se devuelve.
De forma alternativa, la comunicación SSL se puede habilitar añadiendo la característica transportSecurity-1.0
Liberty en el archivo server.xml. <featureManager>
<feature>transportSecurity-1.0</feature>
</featureManager>
La característica transportSecurity-1.0 reemplaza la característica ssl-1.0 y añade funciones que no están incluidas con la característica ssl-1.0. Puede especificar una configuración de SSL que se utilizará como el valor predeterminado de salida, así como configurar filtros en una configuración de SSL, de forma que la configuración de SSL se puede utilizar para una llamada de SSL de salida basándose en un host y puerto de destino. Si desea más información sobre opciones de SSL de salida, consulte Configuración de valores SSL para las comunicaciones de salida y Filtros de salida para configuraciones SSL.
Cuando la característica transportSecurity-1.0 está habilitada, el servidor Liberty establece una fábrica de sockets SSL personalizada que utiliza la propiedad de seguridad Java ssl.SocketFactory.provider. Esta propiedad de seguridad se establece automáticamente cuando la característica transportSecurity-1.0está habilitada.
Cuando se utiliza la característica transportSecurity-1.0, el valor de SSLContext predeterminado del proceso es el SSLContext predeterminado de JSSE (Java Secure Socket Extension). Una llamada a SSLContext.getDefault() devuelve el contexto predeterminado SSLContext de JSSE. Una llamada a SSLSocketFactory.getDefault() devuelve un SSLSocketFactory que se basa en el proveedor de fábricas de sockets personalizado del servidor Liberty que utiliza el SSLContext de Liberty.
El atributo outboundSSLRef y el elemento outboundConnection se utilizan para conexiones SSL de salida solo si se especifica la característica transportSecurity-1.0. Si la característica ssl-1.0 se especifica y transportSecurity-1.0 no se especifica, el atributo outboundSSLRef y el elemento outboundConnection se ignoran.
Nota: Debido a la naturaleza del JDK, si cambia de la característica ssl-1.0 a la característica transportSecurity-1.0, o de la característica transportSecurity-1.0 a la característica ssl-1.0, el servidor Liberty se debe reiniciar para utilizar la característica a su funcionalidad completa.
- Añada la entrada de objeto de servicio de almacén de claves al archivo server.xml. El elemento keyStore se llama defaultKeyStore y
contiene la contraseña de almacén de claves. La contraseña
se puede especificar en formato de texto simple o en formato codificado. Se puede utilizar la opción securityUtility
encode para codificar la contraseña.
<keyStore id="defaultKeyStore" password="yourPassword" />
Un ejemplo de un conjunto de claves SAF en la configuración mínima:
<keyStore id="defaultKeyStore" location="safkeyring:///WASKeyring"
type="JCERACFKS" password="password" fileBased="false"
readOnly="true" />
El conjunto de claves RACF se debe configurar antes de configurarlos para su uso por el servidor Liberty. El servidor no crea certificados y no los añade a RACF.
La entrada de almacén de claves única para una configuración SSL se puede
ampliar para incluir la ubicación y el tipo también.
<keyStore id="defaultKeyStore" location="myKeyStore.p12" password="yourPassword" type="PKCS12" />
Esta configuración es lo mínimo necesario para crear una configuración SSL. En esta configuración, el servidor crea el almacén de claves y el certificado, si no existe durante la inicialización de SSL. La contraseña que se proporciona debe ser de al menos 6 caracteres de longitud. El almacén de claves se supone que es un almacén de claves JKS que se denomina key.jks en el directorio home/resources/security del servidor. Si el archivo no existe en el servidor, se creará. Si el servidor crea el archivo de almacén de claves, también creará el certificado dentro del mismo. El certificado es un certificado firmado automáticamente con una validez de un período de 365 días, el valor CN de subjectDN del certificado es el nombre de host de la máquina donde se está ejecutando el servidor y tiene un algoritmo de firma de SHA256withRSA.
Nota: Cuando el uso de un controlador colectivo no es práctico, quizás solo hay uno o dos servidores, Liberty, se puede utilizar un certificado firmado automáticamente para restringir el número de clientes que se pueden conectar al servidor miembro Liberty. Se sugiere que se utiliza un servidor IHS delante de los servidores Liberty, cuando se puede utilizar un certificado firmado CA apropiado, junto con un CN que realiza listas blancas para controlar qué clientes se pueden conectar a HIS. Se puede mantener un canal de confianza entre IHS y el servidor miembro Liberty utilizando el certificado firmado automáticamente.