Instalar certificado gratuito ssl con Let’s Encrypt en tomcat

Es comun utilizar Let’s Encrypt par poner certificados gratuitos seguros en nuestros dominios, ponerlos en apache o nginx es una tarea sencilla, pero todos hemos sufrido la tarea de poner un certificado seguro en un llavero (Java KeyStore) de tomcat.

Con esta pequeña entrada voy a explicar paso a paso como poner un certificado gratuito Let’s Encrypt en tomcat.

Para realizar los pasos necesitaremos tener instalado en el sistema keytool (viene con el jdk) y certboot (https://certbot.eff.org/).

Creamos un llavero JKS (letsencrypt.jks) con una clave RSA 2048, con la entrada de dominio (midominio.es)

keytool -genkeypair -alias simple-cert -keyalg RSA -keysize 2048 -keystore letsencrypt.jks -dname "CN=midominio.es" -storepass password12345

Agregamos una segunda clave RSA 4096 – (san-cert)

keytool -genkeypair -alias san-cert -keyalg RSA -keysize 4096 -keystore letsencrypt.jks -dname "CN=midominio.es" -storepass password12345

Creamos un CSR para simple-cert y un CSR para san-cert

keytool -certreq -alias simple-cert -keystore letsencrypt.jks -file midominio.csr -storepass password12345 -ext san=dns:midominio.es

Creamos el full certificate chain con certboot (certificado Let’s Encrypt).

certbot certonly --manual --csr midominio.csr --preferred-challenges "dns"

Nos creara una serie de certificados y debemos de quedarnos con el full certificate chain.

Successfully received certificate.

Certificate is saved at:            C:\Program Files (x86)\Certbot\bin\0000_cert.pem
Intermediate CA chain is saved at:  C:\Program Files (x86)\Certbot\bin\0000_chain.pem
Full certificate chain is saved at: C:\Program Files (x86)\Certbot\bin\0001_chain.pem
This certificate expires on 2023-03-07.

Añadimos el certificado al keystore (clic YES cuando pregunte).

keytool -importcert -alias simple-cert -keystore letsencrypt.jks -storepass password12345 -file 0001_chain.pem

Y ya tendriamos el certifiado creado y solo necesitariamos añadirlo en el fichero de configuración del tomcat (server.xml).

<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true" URIEncoding="UTF-8"
keystoreFile="conf\ssl\letsencrypt.jks"
keystorePass="password12345" keyAlias="simple-cert"
clientAuth="false" sslProtocol="TLS" />

—- RENOVAR CERTIFICADO —-

Los certificados Let’s Encrypt , caducan a los tres meses, con lo que es posible que al intentar reniovarlo nos de problemas, lo unico que tendremos es que realizar los mismos pasos y cuando lancemoz el comando certbot, crear la entrada dns que nos pidan por consola.

Please deploy a DNS TXT record under the name:

_acme-challenge.midominio.es.

with the following value:

t8TpRgmScIuzwwrXgsCEhqt1VaV4s7EkxEziWoOCJ2h

Iniciar sesión en centos 7 sin contraseña con gnome

Nos habra pasado alguna vez que cuando usamos un entorno grafico nos da pereza andar metiendo la contraseña nmada mas iniciar sesión.

Con esta pequeña entrada voy a explicar como iniciar sesión en centos 7 con entorno grafico gnome.

Editaremos el fichero de configuración de gnome:

vi /etc/gdm/custom.conf

Y añadiremos lo siguiente debajo de default cambiando la variable nombre_usuario pro el usuario que queramos que inicie sesión sin contraseña:

AutomaticLoginEnable=true
AutomaticLogin=nombre_usuario

Guardamos el fichero y reiniciamos

Y ya podemos ver como iniciamos sesión sin introducir contraseña.