Como añadir soporte SSL para MicroRest – LET’S ENCRIPT

Es bien sabido que las aplicaciones móviles al consumir servicios RESP-APi, nos obligan a utilizar conexiones seguras. En este ejemplo vamos a mostrar como utilizar los certificados generados por LET’S ENCRIPT para configurar MicroRest y así poder generar comunicaciones encriptadas en nuestras aplicaciones desarrolladas para dispositivos móviles ,en este ejemplo Flutter.

Primero creamos los certificados para nuestro sitio WEB utilizando la documentación de LET’S ENCRIPT

Los certificados se guardan en el directorio : /etc/letsencrypt/live/mydomain.be, en donde mydomain.be es el nombre del dominio.

Cambie las contraseñas en donde dice «changeit».

Primero se genera un keystore independiente:

Usted debe cambiar mydocmain.be con el nombre que registra el dominio, asi como las contraseñas «changeit»

openssl pkcs12 -export \ -in /etc/letsencrypt/live/mydomain.be/cert.pem \ -inkey /etc/letsencrypt/live/mydomain.be/privkey.pem \ -out /tmp/mydomain.be.p12 \ -name mydomain.be \ -CAfile /etc/letsencrypt/live/mydomain.be/fullchain.pem \ -caname "Let's Encrypt Authority X3" \ -password pass:changeit

El siguiente paso es importar el certificado al .keystore

keytool -importkeystore \
	-deststorepass changeit \
	-destkeypass changeit \
	-deststoretype pkcs12 \
	-srckeystore /tmp/mydomain.be.p12 \
	-srcstoretype PKCS12 \
	-srcstorepass changeit \
	-destkeystore /tmp/mydomain.be.keystore \
	-alias mydomain.be

El resultado de las operaciones son dos archivos, el primero es el certificado con extension p12 y el siguiente es el keystore con la extension correspondiente.

Ahora en el archivo de configuración de MicroRest se debe configurar lo siguiente:

ssl=true
TrustStore=/Volumes/Disco2/desarrollo/MicroRest/cers/mydomain.be.p12
TrustStorePassword=changeit
KeyStorePassword=changeit
KeyStore=/Volumes/Disco2/desarrollo/MicroRest/cers/mydomain.be.keystore

Una vez se suba el servicio, se debe visualizar «SSL enable true», esto quiere decir que esta escuchando en el puerto de forma segura MicroServer_startd