Para este laboratorio hemos preparado un ambiente con Oracle Linux 7, un servidor glassfish instalado y un dominio creado, realizaremos el proceso de configuración de un certificado SSL en el keystore de glassfish.

Primero debemos ir a la ruta donde esta instalado nuestro dominio glassfish, en nuestro caso es la siguiente:

/opt/glassfish/glassfish/domains/default1/config

En esta ruta se encuentra el keystore default del glassfish llamado keystore.jks el cuál es el identity y cacerts.jks es el trust

Crearemos un nuevo keystore:

keytool -genkey -alias pruebaSSL-keyalg RSA -keystore pruebas.jks -keysize 2048

Contestar las preguntas solicitadas y colocar la contraseña al keystore y al certificado.

Nota: la contraseña del keystore debe ser la misma que la del keystore default del glassfish, por ende es necesario en esta documentación usamos changeit que es la default del keystore tanto de cacerts.jks como de keystore.jks

Ejemplo:

What is your first and last name? = Your Domain Name (e.g. www.comodo.com)
What is the name of your organizational unit? = Your Department (e.g. IT)
What is the name of your organization? = Your Organization (e.g. Comodo CA Ltd)
What is the name of your City or Locality? = Your City (e.g. Clifton)
What is the name of your State or Province? = Your State (e.g. New Jersey)
What is the two-letter country code for this unit? = Your Country Code (e.g. US)

Luego de haberlos generado, deberemos colocar un contraseña al certificado, se la colocamos y debe ser la misma que el keystore default también, por ende utilizaremos changeit.

Posterior a esto crearemos nuestro csr para enviarlo a firmar:

keytool -certreq -alias pruebaSSL requestSSL.csr -keystore pruebas.jks

Después de haber sido firmado por la entidad certificadora debemos tener 3 certificados, el usuario, el root y el ca o intermediario.

Deberemos importar nuestro keystore dentro del keystore original del glassfish:

keytool -importkeystore -srckeystore pruebas.jks -destkeystore keystore.jks

Colocaremos la contraseña del keystore original y de producción: changeit

Luego de esto deberemos importar el certificado root al keystore.jks y al cacerts.jks

keytool -import -v -trustcacerts -alias root -file rootCertificate.crt -keystore keystore.jks
keytool -import -v -trustcacerts -alias root -file rootCertificate.crt -keystore cacerts.jks

Luego debemos importar el certificado ca o intermediario al keystore.jks y a cacerts, si tenemos más de uno podemos colocarlo con el mismo comando:

keytool -import -v -trustcacerts -alias intermediate -file caCertificate.crt -keystore keystore.jks
keytool -import -v -trustcacerts -alias intermediate -file caCertificate.crt -keystore cacerts.jks

Y por último utilizando el mismo alias que el alias que tenía nuestro csr del request importaremos el certificado de usuario:

keytool -import -alias pruebaSSL -trustcacerts -file userCertificate.crt -keystore keystore.jks

Luego de esto debemos cambiar todo lo que diga s1as en el archivo domain.xml a pruebaSSL, este nombre es el del certificado default de glassfish y el nuevo, es nuestro alias del nuevo certificado:

Una forma fácil de hacerlo es con el siguiente comando:

find  /opt/glassfish/glassfish/domains/default1  -name "domain.xml" -print | xargs sed -i "s/s1as/pruebaSSL/g"

Con este comando sustituiremos todas las apariciones del nombre s1as por pruebaSSL.

Es necesario configurar el puerto 443 en el glassfish server, para hacerlo debemos ir a la consola de administración del glassfish, nos vamos a configuration > default-config > http service > http listener > http-listener2, ahí seleccionamos el tab General y ahí podemos cambiar el puerto de escucha de nuestra aplicación, adicionalmente en Certificate NickName colocaremos el nombre de nuestro alias del certificacado pruebaSSL:

Reiniciamos el dominio del glassfish server y con esto ya podemos ingresar a nuestra aplicación utilizando https.

Una respuesta a «Cómo instalar y configurar un certificado SSL en un Servidor Glassfish»

  1. EMMANUEL GUZMÁN, REQUERIMOS ASESORIA PARA INSTALAR EL CERTIFICADO SSL EN NUESTRO SERVIDOR GLASSFICH, ES SERVIDOR GLASSFISH SE EJECUTA EN UN SERVIDOR CON WINDOWS SERVER 2012 R2.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.