La configuración SSL es necesaria para que WebSphere realice conexiones SSL
con otros servidores. Una configuración SSL se puede configurar mediante la Consola de
administración. Pero si se desea un procedimiento automático para crear una configuración SSL,
se deberá utilizar AdminTask.
Antes de empezar
Antes de iniciar esta tarea, la
herramienta wsadmin debe estar ejecutándose.
Para obtener más información, consulte el artículo Inicio del cliente de scripts wsadmin.
Acerca de esta tarea
AdminTask se puede utilizar en modalidad interactiva
y en modalidad de proceso por lotes. Para la automatización, se deberán utilizar
las opciones de modalidad de proceso por lotes. La modalidad de proceso por lotes de AdminTask se puede llamar en un script JACL
o Python. La modalidad interactiva pasa por todos los parámetros que la tarea necesita;
los que son necesarios están marcados con un '*'. Antes de que la tarea interactiva
ejecute la tarea, repite la sintaxis de modalidad de proceso por lotes
de la tarea en la pantalla.
Esto puede ser útil cuando se graban scripts
de modalidad de proceso por lotes.
Los siguientes atributos son necesarios para crear una
configuración ssl:
- Un almacén de claves
- Alias de certificado de cliente predeterminado
- Alias de certificado de servidor predeterminado
- Almacén de confianza
- El protocolo de reconocimiento de comunicación
- Las cifras necesarias durante el reconocimiento de comunicación
- Soporte de autenticación de cliente o no
Si se automatiza la creación de una configuración SSL, es posible que sea necesario
crear algunos de los valores de atributo necesarios como el almacén de claves, el almacén
de confianza, el gestor de claves y los gestores de confianza.
Procedimiento
- Para crear una configuración SSL, se puede utilizar la tarea administrativa
createSSLConfig. Para realizar cambios en las configuraciones SSL, utilice la tarea administrativa
modifySSLConfig.
- Modalidad interactiva:
La modalidad interactiva le conduce por todos los atributos y
le indica el valor predeterminado del atributo, si existe.
El valor predeterminado está entre
los caracteres '[]' en la línea de solicitud. El distintivo real utilizado en modalidad
de proceso por lotes es '()' en cada línea de solicitud. Si está utilizando el valor predeterminado, el distintivo
no se mostrará en la línea de mandatos de proceso por lotes.
Utilizando Jacl:
$AdminTask createSSLConfig -interactive
Utilizando
Jython:
AdminTask.createSSLConfig ('[interactive]')
Salida de ejemplo:
*Alias de configuración SSL (alias): testSSLConfig
Nombre de ámbito de gestión (scopeName): (cell):HOSTNode01Cell:(node):HOSTNode01
Alias de la clave de cliente (clientKeyAlias): clientCert
Alias de la clave del servidor (serverKeyAlias): serverCert
Tipo de SSL (type): [JSSE]
Autenticación de cliente (clientAuthentication): [false]
Nivel de seguridad de la configuración SSL (securityLevel): [HIGH] HIGH
Cifrados habilitados para configuración SSL (enabledCiphers):
Proveedor JSSE (jsseProvider): [IBMJSSE2]
Soporte de autenticación de cliente (clientAuthenticationSupported): [false]
Protocolo SSL (sslProtocol): [SSL_TLSv2] SSL_TLSv2
Nombres de objetos del gestor de confianza (trustManagerObjectNames):
*Nombre del almacén de confianza (trustStoreName): testTrustStore
Ámbito del almacén de confianza (trustStoreScopeName): (cell):HOSTNode01Cell:(node):HOSTNode01
*Nombre del almacén de claves (keyStoreName): testKeyStore
Nombre del ámbito de tienda de claves (keyStoreScopeName): (cell):HOSTNode01Cell:(node):HOSTNode01
Nombre del gestor de claves (keyManagerName): IbmX509
Nombre del ámbito del gestor de claves (keyManagerScopeName): (cell):HOSTNode01Cell:(node):HOSTNode01
Crear configuración SSL
F (Finalizar)
C (Cancelar)
Seleccione [F, C]: [F]
WASX7278I: Línea de mandatos generada: $AdminTask createSSLConfig {-alias testSSLConfig
-scopeName (cell):HOSTNode01Cell:(node):HOSTNode01 -clientKeyAlias clientCert
-serverKeyAlias serverCert -trustStoreName testTrustStore
-trustStoreScopeName (cell):HOSTNode01Cell:(node):HOSTNode01
-keyStoreName testKeyStore -keyStoreScopeName (cell):HOSTNode01Cell:(node):HOSTNode01
-keyManagerName IbmX509 -keyManagerScopeName (cell):HOSTNode01Cell:(node):HOSTNode01 }
(cells/HOSTNode01Cell|security.xml#SSLConfig_1137687301834)
Al final de la
salida, se proporcionan los parámetros de modalidad de proceso por lotes.
- Modalidad de proceso por lotes:
Utilizando Jacl:
$AdminTask createSSLConfig {-alias testSSLConfig
-scopeName (cell):HOSTNode01Cell:(node):HOSTNode01 -clientKeyAlias clientCert
-serverKeyAlias serverCert -trustStoreName testTrustStore
-trustStoreScopeName (cell):HOSTNode01Cell:(node):HOSTNode01
-keyStoreName testKeyStore -keyStoreScopeName (cell):HOSTNode01Cell:(node):HOSTNode01
-keyManagerName IbmX509 -keyManagerScopeName (cell):HOSTNode01Cell:(node):HOSTNode01}
Utilizando Jython:
AdminTask.createSSLConfig ('[-alias testSSLConfig
-scopeName (cell):HOSTNode01Cell:(node):HOSTNode01 -clientKeyAlias clientCert
-serverKeyAlias serverCert -trustStoreName testTrustStore
-trustStoreScopeName (cell):HOSTNode01Cell:(node):HOSTNode01
-keyStoreName testKeyStore -keyStoreScopeName (cell):HOSTNode01Cell:(node):HOSTNode01
-keyManagerName IbmX509 -keyManagerScopeName (cell):HOSTNode01Cell:(node):HOSTNode01]')
Resultado de ejemplo:
(cells/HOSTNode01Cell|security.xml#SSLConfig_1137687301834)
- Almacenes de claves y almacenes de confianza Es posible que el
almacén de claves y el almacén de confianza ya existan o que sea necesario crear uno
nuevo.
Para crear un nuevo almacén de claves o almacén de confianza, utilice la tarea de
administración (AdminTask) createKeyStore.
Ésta creará un archivo de almacén de claves
y almacenará el objeto de configuración en la configuración del sistema. Un almacén de
confianza es simplemente un almacén de claves que suele contener sólo certificados de
firmante. Para crear un almacén de claves, entre:
Utilizando Jacl:
$AdminTask createKeyStore {-keyStoreName testKeyStore -keyStoreType PKCS12
-keyStoreLocation $(USER_INSTALL_ROOT)\testKeyStore.p12 -keyStorePassword abcd
-keyStorePasswordVerify abcd -keyStoreIsFileBased true -keyStoreReadOnly false}
Utilizando Jython:
AdminTask.createKeyStore ('[-keyStoreName testKeyStore -keyStoreType PKCS12
-keyStoreLocation $(USER_INSTALL_ROOT)\testKeyStore.p12 -keyStorePassword abcd
-keyStorePasswordVerify abcd -keyStoreIsFileBased true -keyStoreReadOnly false]')
Para llenar el almacén de claves con certificados, consulte “Gestión de certificados
utilizando la consola de administración y la tarea de administración”. El almacén de
claves y el almacén de confianza son necesarios para crear una configuración SSL. Utilice los distintivos '-keyStoreName' y '-trustStoreName' en createSSLConfig. Se
pueden añadir ámbitos con el distintivo '-keyStoreScope' y el distintivo
'-trustStoreScope'.
- Gestor de claves El gestor de claves se utiliza para determinar
cómo se selecciona un certificado. El gestor de claves IbmX509 está predeterminado
en la configuración de seguridad. Si se necesita un gestor de claves diferente, utilice
la tarea de administración createKeyManager para crearlo. Para crear un gestor de claves, entre:
Utilizando Jacl:
$AdminTask createKeyManager {-name testKeyManager
-scopeName (cell):HOSTNode01Cell:(node):HOSTNode01
-provider IBMJSSE2 -algorithm specialAlgorithm }
Utilizando Jython:
AdminTask.createKeyManager ('[-name testKeyManager
-scopeName (cell):HOSTNode01Cell:(node):HOSTNode01
-provider IBMJSSE2 -algorithm specialAlgorithm]')
Para proporcionar un gestor de claves en la tarea de administración createSSLConfig,
utilice '-keyManagerName' con el distintivo '-keyManagerScope'.
- Gestor de confianza Los gestores de confianza se utilizan para determinar
cómo se establece la confianza durante las comunicaciones ssl. Los gestores de confianza
IbmX509 e IbmPKIX se encuentran predeterminado en la configuración de seguridad.
Si se necesita un gestor de confianza diferente o adicional, utilice la tarea de administración
createTrustManger para crearlo. Para crear un gestor de confianza, entre:
Utilizando Jacl:
$AdminTask createTrustManager {-name testTrustManager
-scopeName (cell):HOSTNode01Cell:(node):HOSTNode01
-provider IBMJSSE2 -algorithm specialAlgorithm }
Utilizando Jython:
AdminTask.createTrustManager ('[-name testTrustManager
-scopeName (cell):HOSTNode01Cell:(node):HOSTNode01
-provider IBMJSSE2 -algorithm specialAlgorithm]')
La configuración SSL puede tener varios gestores de confianza. Para proporcionar varias
gestores de confianza, proporcione una lista separada por comas de
ID de configuración de gestores de confianza con el distintivo
-trustManagerObjectNames.
Al crear un gestor de confianza, se devuelve
el ID de objeto de configuración.
Para obtener una lista de ID de objeto de gestores de
confianza, utilice el mandato listTrustManagers del objeto AdminTask
con el distintivo -displayObjectName true.
Por ejemplo: wsadmin>$AdminTask listTrustManagers -interactive
Listar gestores de confianza
Listar gestores de confianza.
Nombre de ámbito de gestión (scopeName):
Mostrar lista en formato de ObjectName (displayObjectName): [false] true
Listar gestores de confianza
F (Finalizar)
C (Cancelar)
Seleccione [F, C]: [F]
Genere mandato de script dentro
WASX7278I: Línea de mandatos generada: $AdminTask listTrustManagers {-displayObjectName true }
IbmX509(cells/IBM-0AF8DABCF16Node01Cell|security.xml#TrustManager_IBM-0AF8DABCF16Node01_1)
IbmPKIX(cells/IBM-0AF8DABCF16Node01Cell|security.xml#TrustManager_IBM-0AF8DABCF16Node01_2)