Manual - Configurar Wildfly 9 para usar https Versión 0.1 Solredes: 10-nov-2015 1
Contenido pág 1 Crear archivo de clave p12 y archivo jks 3 2 Configurar Wildfly con el archivo p12 7 3 Importar el archivo p12 a almacén de entidades de certificación 11 2
1. Crear archivo de clave p12 y archivo jks Lo primero es descargar el openssl de acuerdo a la versión del Sistema Operativo, https://slproweb.com/products/win32openssl.html, e instalarlo. Para el ejemplo se ha instalado en C:\OpenSSL-Win64: 3
Después de esto, se debe ejecutar una ventana de comando e ir a la ruta de instalación: cd C:\OpenSSL-Win64\bin Estando en esa carpeta se ejecuta el comando: openssl genrsa -des3 -out foo.pem 1024 Al ejecutar ese comando se nos pide que ingresemos una contraseña para ese nuevo almacén de claves, así que la digitamos: 4
Con el cual se crea el archivo foo.pem en la ruta. Luego debe ejecutarse el comando: openssl req -new -x509 -key foo.pem -out foo-cert.pem -days 10950 Se nos pide la contraseña que creamos en el paso anterior, la digitamos y se nos piden los datos necesarios para el archivo: Debemos asegurarnos que en el campo Common Name, digitamos el nombre del servidor o ip con el cual vamos a acceder al servicio de Wildfly. Para el ejemplo colocamos localhost. Con el cual se crea el archivo foo-cert.pem en la ruta. El archivo genera la clave por 30 años, 10950 días. Luego debe ejecutarse el comando: openssl pkcs12 -export -in foo-cert.pem -inkey foo.pem -out server_wildfly9.p12 -name localhost Al hacerlo se nos pedirá que ingresemos la clave del almacen que creamos anteriormente, lo hacemos: 5
Luego se nos pide la contraseña con la que se va a guardar este nuevo archivo, así que la digitamos: Con el cual se crea el archivo server_wildfly9.p12 en la ruta. Con lo cual ya tenemos el almacén de claves, ahora se debe ejecutar el comando de java que creará el archivo que leerá Wildfly. 6
2. Configurar Wildfly con el archivo p12 Ejecutamos el siguiente comando, para este ejemplo el jdk está en la ruta C:\Program Files\Java\jre1.8.0_65. Debe modificar este comando de acuerdo a la ruta donde esté instalado su jdk. Por favor recuerde cambiar <Contrasenna_p12> por la contraseña que dio al archivo p12: "C:\Program Files\Java\jre1.8.0_65\bin\keytool" -importkeystore - deststorepass <Contrasenna_pem> -destkeypass < Contrasenna_pem> - destkeystore localhost.jks -srckeystore server_wildfly9.p12 - srcstoretype PKCS12 -srcstorepass <Contrasenna_p12> -alias localhost Al ejecutarse el comando aparecerá en la ruta el archivo localhost.jks: Este archivo debe copiarse a la ruta de instalación de Wildfly, [WILDFLY_HOME]\standalone\configuration, para el ejemplo: Abrimos el archivo standalone.xml, y buscamos el subsistema security-realms y adicionamos las líneas: 7
<security-realm name="sslrealm"> <server-identities> <ssl> <keystore path="localhost.jks" relative-to="jboss.server.config.dir" keystorepassword="<contrasenna_p12>" alias="localhost" key-password="<contrasenna_p12>"/> </ssl> </server-identities> </security-realm> Recuerde cambiar <Contrasenna_p12> por la contraseña que le dio al archivo. Luego debe buscar la línea de subsistema <subsystem xmlns="urn:jboss:domain:undertow:2.0"> y en esta sección dentro de <server name="default-server"> debe colocar la siguiente línea: <https-listener name="default-ssl" socket-binding="https" security-realm="sslrealm"/> Debe comentar la línea que está dedicada al listener de http. 8
Luego debe buscar la línea del subsistema <subsystem xmlns="urn:jboss:domain:remoting:3.0"> y donde aparezca connector-ref="default" debe cambiarlo por connector-ref="default-ssl". Guarde los cambios realizados y reinicie el servicio, de acuerdo a como tenga configurados los puertos se dara cuenta que el de http queda deshabilitado y el de https es funcional. En este ejemplo el puerto http es el 8443: 9
Y el puerto https es el 8080: 10
3. Importar el archivo p12 a almacén de entidades de certificación Esto se hace para que no esté diciendo en el sitio donde se usa la aplicación siempre que ingresamos, que es un sitio desconocido con un warning. 11
12
13
14
15
16
17
https://technet.microsoft.com/es-co/library/cc754841.aspx 18