Gracias a la organización Let’s Encrypt podemos generar certificados SSL de forma totalmente gratuita, sencilla y rápida. El único inconveniente es que tendremos que renovarlos cada 3 meses, aunque el proceso de creación y renovación apenas lleva unos segundos.
Los comandos de esta entrada son para Mac OSX, aunque en Linux y Windows son muy similares.
Paso 1: Instalar CERTBOT
brew install certbot
Paso 2: Crear una CARPETA DE TRABAJO
mkdir ~/Documents/LetsEncrypt
cd ~/Documents/LetsEncrypt
Paso 3: Generar el CERTIFICADO
certbot certonly \
--manual \
--key-type rsa \
--email micorreo@gmail.com \
-d "b2b.midominio.es" \
--agree-tos \
--preferred-challenges=dns \
--config-dir ~/Documents/LetsEncrypt \
--work-dir ~/Documents/LetsEncrypt \
--logs-dir ~/Documents/LetsEncrypt
En este momento, como hemos elegido el DNS Challenge, tendremos que crear el registro TXT en el DNS que nos indica certbot. Será algo similar a esto:
- Name: _acme-challenge.b2b.midominio.es.
- Value: 0wDXXvV11MJwCzR-Nc5c6VWnjp_O2iGT0Tavf5pD7-h
Certbot nos pide pulsar cualquier tecla una vez creado el registro DNS. Antes de pulsarla, es importante comprobar que el registro DNS se ha propagado adecuadamente y que está disponible. Para ello, podemos usar el siguiente comando (que nos propone certbot):
https://toolbox.googleapps.com/apps/dig/#TXT/_acme-challenge.b2b.midominio.es.
Una vez que el DNS se ha propagado, pulsamos cualquier tecla, y certbot genera el certificado en la carpeta indicada (~/Documents/LetsEncrypt
)
Se genera tanto el el certificado en formato PEM como la clave privada en formato PEM (texto plano).
Paso 4 (Opcional) Pasar de PEM a PFX
En determinadas ocasiones necesitamos el archivo PFX (que incluye el certificado de clave pública y la clave privada protegida por una contraseña). Para ello podemos usar OpenSSL:
openssl pkcs12 -export -out midominio_es.pfx -inkey midominio_es.key -in midominio_es.cer