Creación e instalación de certificados SSL
En los apartados siguientes se describe cómo crear e instalar certificados SSL para utilizarlos con WebSphere Partner Gateway. También se incluye una visión general del proceso de reconocimiento SSL. Si su comunidad no utiliza SSL, ni usted ni sus participantes necesitan un certificado SSL entrante o saliente.
Reconocimiento
SSL
Cada sesión SSL empieza con un reconocimiento.
Cuando un cliente (el participante o el gestor de comunidad) inicia un intercambio de mensajes, tiene lugar lo siguiente:
-
El cliente envía un mensaje "hola" de cliente que lista las posibilidades criptográficas
del cliente (clasificadas por orden de preferencia del cliente), como la versión de SSL, los juegos de cifrado admitidos por el cliente y los métodos de compresión de datos admitidos por el cliente. El mensaje también contiene un número aleatorio de 28 bytes.
- El servidor responde con un mensaje "hello done" de servidor que contiene el método criptográfico (juego de cifrado) y el método de compresión de datos seleccionado por el servidor, el ID de sesión y otro número aleatorio.
Nota: el cliente y el servidor deben dar soporte a cómo mínimo un juego de cifrado común, si no el reconocimiento falla. El servidor en general elige el juego de cifrado común más sólido.
- El servidor envía su certificado digital.
La autenticación de servidor se realiza en este paso.
-
El servidor envía un mensaje de "petición de certificado digital". En el mensaje de
"petición de certificado digital", el servidor envía una lista de tipos de certificados digitales soportados y los nombres distinguidos de autoridades certificadoras que se pueden aceptar.
- El servidor envía un mensaje "hello done" de servidor y espera a recibir una respuesta del cliente.
- Cuando se recibe el mensaje "hello done" del servidor, el cliente verifica la validez del certificado digital del servidor y comprueba que los parámetros "hello" del servidor sean aceptables.
-
Si el servidor ha solicitado un certificado digital de cliente, el cliente envía un certificado digital o, si no hay disponible ningún certificado digital apropiado el cliente envía una alerta "no hay ningún certificado digital". Esta alerta sólo es un aviso, pero la aplicación del servidor puede terminar la sesión si la autenticación de cliente es obligatoria.
- El cliente envía un mensaje de "intercambio de claves de cliente". Este mensaje consta del secreto de preparación de copia maestra, un número aleatorio de 46 bytes que se utiliza en la generación de claves de cifrado simétrico y las
claves de código de autenticación de mensajes (MAC), cifrado con la clave pública del servidor.
-
Si el cliente ha enviado un certificado digital al servidor, el cliente envía un mensaje de "verificación de certificado digital" firmado con la clave privada del cliente. Si verifica la firma de este mensaje, el servidor puede verificar de forma explícita la propiedad del certificado digital del cliente.
Nota: no es necesario ningún proceso adicional para verificar el certificado digital del servidor. Si el servidor no tiene la clave privada que pertenece al certificado digital, no podrá descifrar el secreto de preparación de copia maestra ni crear las claves correctas para el algoritmo de cifrado simétrico y el
reconocimiento fallará.
-
El cliente utiliza una serie de operaciones criptográficas para convertir el secreto de preparación de copia maestra en un secreto maestro, del que se deriva todo el material clave necesario para el cifrado y la autenticación de mensajes. A continuación, el cliente envía un mensaje de "cambio de especificación de cifrado" para que el servidor pase a utilizar el juego de cifrado recién negociado. El mensaje siguiente enviado por el cliente (el mensaje "terminado") es el primer mensaje cifrado con este método y estas claves.
- El servidor responde con un mensaje de "cambio de especificación de cifrado" y un mensaje de "terminado" propio.
La autenticación de cliente requiere efectuar los pasos 4, 7 y 9.
El reconocimiento SSL finaliza y los datos de aplicación cifrados pueden enviarse.
Certificados SSL entrantes
En este apartado se describe cómo configurar la autenticación de servidor y la autenticación de cliente para las peticiones de conexión entrantes que proceden de los participantes.
Autenticación de servidor
WebSphere Application Server utiliza el certificado SSL cuando recibe peticiones de conexión procedentes de participantes a través de SSL.
Es el certificado que el receptor presenta para identificar al concentrador ante el participante. Este certificado de servidor puede ser auto-firmado o puede estar firmado por una CA. En la mayoría de los casos, se utilizará un certificado CA para mayor seguridad. Quizás podría utilizarse un certificado auto-firmado en un entorno de prueba. Utilice iKeyman para generar una pareja de certificado y clave. Consulte la documentación disponible de IBM para obtener más información sobre la utilización de iKeyman.
Tras generar la pareja de certificado y clave, utilice el certificado para el tráfico SSL entrante de todos los participantes. Si posee múltiples receptores o consolas, copie el almacén de claves resultante en cada instancia.
Si es un certificado auto-firmado, proporcione este certificado a los participantes. Para obtener este certificado, utilice iKeyman para extraer el certificado público en un archivo.
Utilización de un certificado autofirmado
Si se dispone a utilizar certificados de servidor auto-firmados, utilice el procedimiento siguiente.
-
Inicie el programa de utilidad iKeyman, que se encuentra en /<DirProducto>/was/bin.
Si es la primera vez que utiliza iKeyman, borre el certificado "ficticio" que reside en el almacén de claves.
- Utilice iKeyman para generar un certificado auto-firmado y una pareja de claves para el almacén de claves de la consola o el receptor.
- Utilice iKeyman para extraer a un archivo el certificado que contendrá la clave pública.
Guarde el almacén de claves en un archivo JKS, PKCS12 o JCEK.
- Instale el archivo en el almacén de claves de la consola o del receptor para el que se creó.
-
Distribuya el certificado a los participantes.
El método preferente de distribución consiste en enviar el certificado por correo electrónico en un archivo comprimido protegido mediante contraseña. Los participantes deberán llamarle y solicitarle la contraseña para el archivo comprimido.
Utilización de un certificado generado por una CA
Si piensa utilizar un certificado firmado por una CA, utilice el siguiente procedimiento.
-
Inicie el programa de utilidad iKeyman, que se encuentra en el directorio
/<DirProducto>/was/bin.
- Utilice iKeyman para generar una petición de certificado y una pareja de claves para el receptor.
- Envíe una Petición de firma de certificado (CSR) a la CA.
- Cuando reciba el certificado firmado de la CA, utilice iKeyman
para colocar el certificado firmado en el almacén de claves.
-
Distribuya el certificado CA a todos los participantes.
Autenticación de cliente
Si desea autenticar participantes que envían documentos, realice los pasos indicados en este apartado.
Instalación del certificado de cliente
Para la autenticación del cliente, emplee el procedimiento siguiente:
- Obtenga el certificado del participante.
- Instale el certificado o los certificados en el almacén de confianza utilizando iKeyman.
- Coloque la CA o las CA pertinentes en el almacén de claves correspondiente.
Nota: cuando se añaden participantes a la comunidad del concentrador, puede utilizarse iKeyman para añadir sus certificados al almacén de confianza.
Si un participante abandona la comunidad, puede utilizarse iKeyman para eliminar los certificados del participante del almacén de confianza.
Configuración de la autenticación de cliente
Después de instalar el certificado o los certificados,
configure WebSphere Application Server de forma que emplee la autenticación de cliente ejecutando el script del
programa de utilidad bcgClientAuth.jacl.
- Vaya al siguiente directorio: /<DirProducto>/bin
- Para activar la autenticación de cliente, invoque el script del siguiente modo:
./bcgwsadmin.sh -f /<DirProducto>/scripts/bcgClientAuth.jacl
-conntype NONE set
Nota: para desactivar la autenticación del cliente, invoque el script del siguiente modo:
./bcgwsadmin.sh -f /<DirProducto>/receiver/scripts/bcgClientAuth.jacl
-conntype NONE clear
Debe reiniciar el servidor bcgreceiver para que estos cambios entren en vigor.
Validación del certificado del cliente
Existe una función adicional que puede utilizarse con la autenticación SSL de cliente. Esta función se habilita a través de la consola de comunidad.
Para HTTPS, WebSphere Partner Gateway verifica los certificados frente a los ID de empresa en los documentos de entrada. Para utilizar esta función, cree el perfil del participante, importe el certificado del cliente y márquelo como SSL.
- Importe el certificado de cliente.
- Pulse Administración de cuentas > Perfiles > Participante de comunidad y busque el perfil del participante.
- Pulse Certificados.
- Pulse Cargar certificado.
- Seleccione Cliente SSL como tipo de certificado.
- Escriba una descripción del certificado (que es necesario).
- Cambie el estado por Habilitado.
- Pulse Examinar y vaya al directorio en el que se ha guardado el certificado.
- Seleccione el certificado y pulse Abrir.
- Si desea seleccionar un tipo de pasarela distinto de Producción (el valor predeterminado), selecciónelo en la lista.
- Pulse Subir y, a continuación,
Guardar.
- Actualice la pasarela de cliente.
- Pulse Administración de cuentas > Perfiles > Participante de comunidad y busque el perfil del participante.
- Pulse Pasarelas.
- Seleccione la pasarela HTTPS creada anteriormente. Si todavía no ha creado la pasarela HTTPS, consulte el apartado Configuración de una pasarela HTTPS.
- Pulse el icono Editar para editar la pasarela.
- Seleccione Sí en Validar certificado de cliente SSL.
- Pulse Guardar.
Certificado SSL de salida
Si su comunidad no utiliza SSL, no necesita un certificado SSL entrante o saliente.
Autenticación de servidor
Cuando se utiliza SSL para enviar documentos salientes a los participantes, WebSphere Partner Gateway solicita un certificado de servidor de los participantes. El mismo certificado de CA puede utilizarse para
varios participantes. El certificado debe estar en formato X.509 DER.
Nota: puede convertir el formato con el programa de utilidad iKeyman. Para utilizar iKeyman para convertir el formato, siga estos pasos:
- Inicie iKeyman.
- Cree un nuevo almacén de claves vacío o abra un almacén de claves existente.
- En Key Database Content, seleccione Signer Certificates.
- Añada el certificado ARM mediante la opción Add.
- Extraiga el mismo certificado como datos Binary DER utilizando la opción Extract.
- Cierre iKeyman.
Instale el certificado autofirmado del participante en el perfil del operador del concentrador. Si el certificado estaba firmado por una CA, y el certificado raíz de la CA y todos los demás certificados que forman parte de la cadena de certificados todavía no están instalados en el perfil del operador del concentrador, instale los certificados en el perfil del operador del concentrador.
- Pulse Certificados.
- Pulse Cargar certificados.
- Seleccione Raíz e intermedio como tipo de certificado.
- Escriba una descripción del certificado (que es necesario).
- Cambie el estado por Habilitado.
- Pulse Examinar y vaya al directorio en el que se ha guardado el certificado.
- Seleccione el certificado y pulse Abrir.
- Pulse Subir y, a continuación,
Guardar.
Nota: si el certificado de la CA ya está instalado, no es necesario que realice los pasos anteriores.
Autenticación de cliente
Si se requiere una autenticación de cliente SSL, el participante, por su parte, solicitará un certificado del concentrador. Utilice la consola de la comunidad para importar su certificado a WebSphere Partner Gateway.
Puede generar el certificado mediante iKeyman. Si el certificado es un certificado auto-firmado, deberá facilitarse al participante.
Si es un certificado firmado por una CA, deberá facilitarse el certificado raíz de la CA a los participantes para que puedan añadirlo a sus certificados de confianza.
Puede haber más de un certificado SSL. Uno es el certificado primario, que es el que se utiliza de manera predeterminada. El otro es un certificado secundario, que se utiliza si el certificado primario caduca o si no se puede utilizar.
Utilización de un certificado autofirmado
Si va a utilizar un certificado autofirmado, utilice el siguiente procedimiento.
- Inicie el programa de utilidad iKeyman.
- Utilice iKeyman para generar un certificado autofirmado y una pareja de claves.
- Utilice iKeyman para extraer a un archivo el certificado que contendrá la clave pública.
- Distribuya el certificado a los participantes. El método preferente de distribución consiste en enviar el certificado por correo electrónico en un archivo comprimido protegido mediante contraseña. Los participantes deberán llamarle y solicitarle la contraseña para el archivo comprimido.
- Utilice la herramienta iKeyman para exportar la pareja
certificado de firma automática y clave privada con el formato de un
archivo PKCS12.
- Instale el certificado auto-firmado y la clave mediante la consola de la comunidad.
- Pulse Administración de cuentas > Perfiles > Certificados para visualizar la página Lista de certificados.
Asegúrese de que ha iniciado la sesión en la consola de comunidad como operador del concentrador.
- Pulse Cargar PKCS12.
Nota: el archivo PKCS12 que se sube sólo debe contener una clave privada y el certificado asociado.
- Seleccione Cliente SSL como tipo de certificado.
- Escriba una descripción del certificado (que es necesario).
- Cambie el estado por Habilitado.
- Pulse Examinar y vaya al directorio en el que se ha guardado el certificado.
- Seleccione el certificado y pulse Abrir.
- Escriba la contraseña.
- Si desea seleccionar un tipo de pasarela distinto de Producción (el valor predeterminado), selecciónelo en la lista.
- Si dispone de dos certificados SSL, indique si éste es el certificado primario o secundario seleccionando Primario o Secundario en la lista Utilización de certificado.
- Pulse Subir y, a continuación,
Guardar.
Si está subiendo los certificados primario y secundario para la autenticación de cliente SSL y la firma digital, y está subiendo los certificados primarios como dos entradas separadas, asegúrese de que los correspondientes certificados secundarios se suban como dos entradas distintas.
Utilización de un certificado firmado por una CA
Si piensa utilizar un certificado firmado por una CA, utilice el siguiente procedimiento:
- Utilice iKeyman para generar una petición de certificado y una pareja de claves para el receptor.
- Envíe una Petición de firma de certificado (CSR) a la CA.
- Cuando reciba el certificado firmado de la CA, utilice iKeyman
para colocar el certificado firmado en el almacén de claves.
- Distribuya el certificado CA firmante a todos los participantes.
Adición de una Lista de revocación de
certificados (CRL)
WebSphere Partner Gateway incluye una característica de Lista de revocación de certificados (CRL).
La CRL, que se emite por parte de una autoridad certificadora (CA), identifica a los participantes que han revocado certificados antes de la fecha de caducidad planificada. A los participantes que han revocado certificados se les deniega el acceso a WebSphere Partner Gateway.
En la CRL, los certificados revocados se identifican mediante el número de serie del certificado. El gestor de documentos explora la CRL cada 60 segundos y rechaza todos los certificados que se incluyen en la lista CRL.
Las CRL se guardan en la siguiente ubicación: /<directorio_datos_compartidos>/security/crl. WebSphere Partner Gateway utiliza el valor bcg.CRLDir en el archivo bcg.properties para identificar la ubicación del directorio CRL.
Cree un archivo .crl que contenga los certificados revocados y colóquelo en el directorio CRL.
Por ejemplo, en el archivo bcg.properties, se utilizarán las siguientes opciones:
bcg.CRLDir=/<directorio_datos_compartidos>/security/crl
Habilitación de acceso para los puntos de distribución de CRL
Las CA mantienen y actualizan las CRL. Estas CRL normalmente se guardar en un punto de distribución de CRL.
Las CRL se utilizan mientras se realizan las comprobaciones de revocación de los certificados para determinar si se ha revocado el certificado.
El script bcgSetCRLDP.jacl puede utilizarse para habilitar o inhabilitar la comprobación de puntos de distribución de
CRL cuando se realiza la comprobación de revocación. Si es necesario acceder a los puntos de distribución de CRL cuando se realiza la comprobación de la revocación de un certificado, habilite el uso de puntos de distribución de CRL. Si los certificados que tiene instalados contienen una extensión DP CRL, puede habilitar el uso de los puntos de distribución de CRL para que se acceda a los puntos de distribución cuando se realice la comprobación de revocación.
Si ha descargado todas las CRL necesarias en el directorio establecido en bcg.properties para la propiedad bcg.CRLDir, puede que no desee habilitar el uso de los puntos de distribución de CRL. Si es probable que las CRL actuales no estén disponibles en el directorio bcg.CRLDir, debe habilitar el uso de puntos de distribución de CRL.
Se da soporte a los puntos de distribución de CRL a los que se puede acceder a través de HTTP y LDAP.
También puede configurar proxies para acceder a los puntos de distribución de CRL.
Nota: en instalaciones Windows, utilice bcgwsadmin.bat en vez de ./bcgwsadmin.sh en los mandatos enumerados en este apartado.
Para habilitar el uso de puntos de distribución CRL, ejecute el siguiente mandato desde el directorio
<DirProducto>/bin:
./bcgwsadmin.sh -f <DirProducto>/scripts/bcgSetCRLDP.jacl install
<nombre_nodo> <nombre_servidor> CRLDP
donde:
- <raíz_servidor>
- El directorio raíz del servidor (por ejemplo, /opt/ibm/receiver/was/profiles/bcgreceiver)
- <nombre_servidor>
- Puede ser bcgdocmgr, bcgreceiver o bcgconsole. Es necesario ejecutar el mandato desde el correspondiente directorio <raíz_servidor>.
Para inhabilitar el uso de puntos de distribución CRL, ejecute el siguiente mandato desde el directorio
<DirProducto>/bin:
./bcgwsadmin.sh -f <DirProducto>/scripts/bcgSetCRLDP.jacl uninstall
<nombre_nodo> <nombre_servidor> CRLDP
Para habilitar el uso de puntos de distribución CRL con un proxy, ejecute el siguiente mandato desde el directorio
<DirProducto>/bin:
./bcgwsadmin.sh -f <DirProducto>/scripts/bcgSetCRLDP.jacl install
<nombre_nodo> <nombre_servidor> CRLDP <host_proxy> <puerto_proxy>
Para especificar que no desea utilizar un proxy, ejecute el siguiente mandato desde el directorio <DirProducto>/bin:
./bcgwsadmin.sh -f <DirProducto>/scripts/bcgSetCRLDP.jacl
uninstall <nombre_nodo> <nombre_servidor> PROXY
Si utiliza una salida de usuario receptor y si la salida de usuario utiliza la API SecurityService, los valores anteriores también son aplicables al servidor bcgreceiver. Para ejecutar los mandatos anteriores para el receptor, sustituya bcgdocmgr por bcgreceiver.
