Configurar SSL en Wildfly 8/9/10

Estándar

Esta configuración es para WildFly 8, pero funciona con las versiones 9 y 10. Tomar en cuenta que se debe tener las utilidades openssl y keytool instaladas y de preferencia en el path, para ejecutar los comandos descritos.

Bueno, se tiene el desafío de configurar servidores WildFly/JBoss para utilizar HTTPS. Se debe partir generando los siguientes archivos y certificados SSL que se detallan a continuación:

midominio.com.csr (Certificate Signing Request) y midominio.com.key (Llave Privada para nuestro Certificado SSL)
Este es el primer paso, se debe generar esta «Solicitud de Firma de Certificado» desde el servidor midominio.com donde se desea instalar el certificado SSL. Es recomendable utilizar como minimo una llave de 2048 bits.

Los archivos .csr y .key se generan con el siguiente comando:

Esto nos devolverá el siguiente mensaje en la pantalla:

Luego debemos proveer la información referente a nuestra organización (midominio.com)

Ahora si estamos listos para comprar nuestro certificado SSL. Un certificado estándar probablemente sera todo lo que se necesite para obtener seguridad básica. Hay distintos sitios que proveen certificados SSL a buen precio, como GoDaddy.com o SSLs.com.
Luego de comprar el certificado el siguiente paso es activarlo con el proveedor, el mismo solicitará copiar el contenido del archivo .csr creado con anterioridad.

Una vez emitido el certificado SSL en base a la información proporcionada, lo descargamos y descomprimimos
Los archivos que necesitamos del paquete son:
ssl_certificate.crt (Certificado SSL de midominio.com) y IntermediateCA.crt (Certificado del Emisor o Proveedor del certificate de midominio.com) junto con el archivo midominio.com.key generado con anterioridad.

Ahora debemos crear un archivo .jks para importarlo en el keystore. Este es un proceso de 3 pasos: primero creamos un archivo pkcs12 (con extensión .p12) a partir del certificado SSL, luego lo importamos en un archivo keystore y por ultimo tambien importamos el IntermediateCA.crt en el keystore.

Paso 1

Paso 2

* Si desean hacer la prueba también pueden generarse un certificado local e importarlo al keystore, siguiendo los pasos en este artículo: Generar un certificado local e importarlo en el keystore para habilitar SSL en WildFly.

Paso 3

Convertir el IntermediateCA.crt a .pfx

Importar el certificado .pfx a nuestro keystore.

Luego adicionar la siguiente entrada dentro del archivo standalone.xml en la sección security-realms.

Luego de tener importados los certificados, agregamos la siguiente entrada dentro del archivo standalone.xml en la sección server name.

Si deseamos redireccionar todas las peticiones http hacia https, entonces modificamos la linea adicionando redirect-socket=»https»

No olvidemos tambien verificar que nuestro puerto SSL este correctamente definido dentro la sección socket-binding-group name=»standard-sockets»

Adicionar en el archivo web.xml (Esto requiere volver a empaquetar el .war y volverlo a desplegar en WildFly)

Reiniciamos WildFly, volvemos a desplegar el .war y hacemos la prueba ingresando a midominio.com ya sea desde https o http en caso tenemos activa la redirección.

Saludos.

Generar un certificado local e importarlo en el keystore para habilitar SSL en WildFly

Estándar

Tomen en cuenta que este proceso les generará una llave keystore del servidor local, lo cual no es tan parecido a los entornos públicos o del mundo real, donde se genera a partir de los certificados SSL provistos por la Autoridad Emisora. Para ello pueden revisar este artículo: Configurar SSL en Wildfly 8/9/10.

Para generar un certificado local, debemos realizar los siguientes pasos:

Este archivo .jks lo copiamos en la carpeta de configuracion del WildFly:

Los demás pasos para integrarlo a WildFly en el artículo indicado al comienzo.

Saludos.

Herramienta en linea para diagramas – draw.io

Estándar

Este post es para recomendarles una aplicación en línea GRATUITA y sumamente útil: draw.io

Ésta herramienta -que antes se llamaba Diagramly- permite dibujar flujogramas y otros tantos tipos de diagramas: sean estos de Redes, de Software, de Arquitectura, BPM, UML, Esquemas de Bases de Datos, de circuitos, Entidad Relación (ER) y muchos pero muchos más.

Una interesante funcionalidad que permite importar archivos en formatos como .vsdx, Gliffy, Lucidchart y tiene un plugin para Confluence (Atlassian). Sus diagramas los pueden guardar en Google Drive, DropBox, OneDrive o descargarlos en el sistema de archivos del equipo local.

Dénse una vuelta por ahí, la verdad que está muy ligera y lo principal que es gratis.

draw.io

Saludos!

Se puede renombrar una Application Pool?

Estándar

Bueno, la sorpresa (y mala) es que no se puede renombrar un Application Pool, lo que si se puede hacer es crear una nueva y enlazarla a la Web Application

Saludos.

Renombrar una Aplicación Web usando PowerShell en SharePoint 2013

Estándar

Este script me funcionó muy bien para una Web Application que por motivos de reorganización interna se debió renombrar, básicamente lo que hace es buscar una SPWebApplication en base al nombre antiguo y luego realizar el cambio de la propiedad Name. Si bien es muy sencillo y también se puede realizar desde la Administración Central, no deja de ser importante realizar el cambio a través de PowerShell en los casos en que las actualizaciones entre entornos distintos son realizados por diferentes personas. Bueno, espero que les sea de utilidad, funciona tambien en 2010, aquí se los dejo:


#Renombrar Web App
$WebApp = SPWebApplication | where {$_.Name -match "Antiguo Nombre de la Aplicacion"}
$WebApp.Name ="Nuevo Nombre de la Aplicacion"
$WebApp.Update()
#Este comando que sigue es solo para verificar que se actualizó correctamente
Get-SPWebApplication | where {$_.Name -match "Nuevo Nombre de la Aplicacion"}

Luego les posteo como hacer esto mismo para la Application Pool.

Saludos.

Hello world! – Hola mundo!

Estándar

Escribo este post, comenzando con este famoso texto, que adicionalmente a que venía en el WordPress 😉 nosotros los programadores utilizamos como primer ejercicio introductorio a un lenguaje de programación; es cual se suele mostrar en una pantalla o monitor.

Segun Wikipedia:

«En algunos lenguajes, configurar un conjunto de herramientas básicas completo desde cero hasta el punto en que los programas triviales puedan ser compilados y ejecutados involucra una cantidad de trabajo sustancial. Por esta razón, generalmente es usado un programa muy simple para probar un nuevo conjunto de herramientas.»

En mi caso, me tomó bastante tiempo publicar este espacio de consulta, ya que el trabajo y las diversas obligaciones muchas veces no nos dejan tiempo para algo tan importante como es el compartir el conocimiento e información. Es así que pongo a disposición este lugar y lo hago con la intención de hacerles saber que «estoy aquí», ya sea para aclarar dudas, comentar tecnologías y principalmente para seguir aprendiendo juntos lo que nos apasiona: el desarrollo de software.

Recuerden que el conocimiento que no se comparte pierde por completo su valor, así que continuemos este hermoso viaje, la vista es preciosa!