#Fixed 8: Solucionado error de versiones en la configuración al renovar el certificado SSL de Let’s Encrypt

Manu Pijierro
5 min readJun 17, 2019

--

Después de renovar el pasado mes de Abril el certificado SSL de Let’s Encrypt para Devoogle, ya tocaba nuevamente volver a su renovación ya que la validez del mismo era de 90 días.

Si quieres más información sobre como renovar el certificado SSL, el 4 de abril de 2019, escribí un artículo sobre como actualizar el certificado SSL de Let’s Encrypt.

En principio era una tarea sencilla, ya que la ejecución de un simple comando debería llevar a cabo de forma automática todo el proceso. Dicho comando era el siguiente:

~# certbot renew

Pero no, la cosa no iba a ser tan inmediata ni sencilla como para funcionar a la primera :) Tras lazar el anterior ‘certbot renew’ obtuve el siguiente mensaje de error:

Attempting to parse the version 0.33.0 renewal configuration file found at /etc/letsencrypt/renewal/www.devoogle.com.conf with version 0.10.2 of Certbot

A continuación la traza completa y los mensajes de error.

root@ — — — :~# certbot renew
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Processing /etc/letsencrypt/renewal/www.devoogle.com.conf
Attempting to parse the version 0.33.0 renewal configuration file found at /etc/letsencrypt/renewal/www.devoogle.com.conf with version 0.10.2 of Certbot. This might not work.
Cert is due for renewal, auto-renewing…
Starting new HTTPS connection (1): acme-v02.api.letsencrypt.org
Renewing an existing certificate
Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org
Performing the following challenges:
Client with the currently selected authenticator does not support any combination of challenges that will satisfy the CA.
Attempting to renew cert from /etc/letsencrypt/renewal/www.devoogle.com.conf produced an unexpected error: Client with the currently selected authenticator does not support any combination of challenges that will satisfy the CA.. Skipping.

All renewal attempts failed. The following certs could not be renewed:
/etc/letsencrypt/live/www.devoogle.com/fullchain.pem (failure)
1 renew failure(s), 0 parse failure(s)

Según el mensaje, tenía que ver con algún problema (que no logro entender muy bien), relacionado con las versiones de la configuración de mi certificado. Por un lado parece que mi archivo de configuración respondía a la versión 0.33.0 y certbot no pasaba de la 0.10.2. Y lo comprobé y si, era cierto.

~# certbot — version
certbot 0.10.2

SOLUCIÓN

Como siempre en estos casos, tocaba ‘googlear’ para ver si algún alma cándida había compartido anteriormente una solución a un problema similar al mío. Y, como siempre también, así había sido. No recuerdo muy bien cómo pero llegué a la siguiente página:

En dicha página, indicaba que había que lanzar un comando para realizar la actualización y renovación de forma correcta. El comando era el siguiente:

~# certbot — authenticator standalone — installer apache -d devoogle.com -d www.devoogle.com — pre-hook “systemctl stop apache2” — post-hook “systemctl start apache2”Respetando los caracteres (comillas y guiones) correctamente:
sudo certbot --authenticator standalone --installer apache -d devoogle.com -d www.devoogle.com --pre-hook "systemctl stop apache2" --post-hook "systemctl start apache2"

Lógicamente, devoogle.com era mi dominio específico, si necesitas este comando, deberías cambiar el dominio por aquel en el que tengas el problema.

Al lanzar el comando, se inicia todo el proceso de actualización y renovación del certificado. Dejo indicado en negrita partes relevantes e importantes de la renovación:

root@ — — — :~# certbot — authenticator standalone — installer apache -d devoogle.com -d www.devoogle.com — pre-hook “systemctl stop apache2” — post-hook “systemctl start apache2”
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org
Attempting to parse the version 0.33.0 renewal configuration file found at /etc/letsencrypt/renewal/www.devoogle.com.conf with version 0.10.2 of Certbot. This might not work.
You have an existing certificate that contains a portion of the domains you
requested (ref: /etc/letsencrypt/renewal/www.devoogle.com.conf)

It contains these names: www.devoogle.com

You requested these names for the new certificate: devoogle.com,
www.devoogle.com.

Do you want to expand and replace this existing certificate with the new
certificate?

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — -
(E)xpand/©ancel: E
Running pre-hook command: systemctl stop apache2
Renewing an existing certificate
Performing the following challenges:
http-01 challenge for devoogle.com
http-01 challenge for www.devoogle.com
Waiting for verification…
Cleaning up challenges
Generating key (2048 bits): /etc/letsencrypt/keys/0006_key-certbot.pem
Creating CSR: /etc/letsencrypt/csr/0006_csr-certbot.pem
Running post-hook command: systemctl start apache2
Deploying Certificate to VirtualHost /etc/apache2/sites-available/devoogle.com-le-ssl.conf
Deploying Certificate to VirtualHost /etc/apache2/sites-available/devoogle.com-le-ssl.conf

Please choose whether HTTPS access is required or optional.
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — -
1: Easy — Allow both HTTP and HTTPS access to these sites
2: Secure — Make all requests redirect to secure HTTPS access
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — -
Select the appropriate number [1–2] then [enter] (press ‘c’ to cancel): 2
Added an HTTP->HTTPS rewrite in addition to other RewriteRules; you may wish to check for overall consistency.
Redirecting vhost in /etc/apache2/sites-available/devoogle.com.conf to ssl vhost in /etc/apache2/sites-available/devoogle.com-le-ssl.conf

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — -
Your existing certificate has been successfully renewed, and the new certificate
has been installed.

The new certificate covers the following domains: https://devoogle.com and
https://www.devoogle.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=devoogle.com
https://www.ssllabs.com/ssltest/analyze.html?d=www.devoogle.com
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — -

IMPORTANT NOTES:
— Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/www.devoogle.com/fullchain.pem. Your cert
will expire on 2019–09–11. To obtain a new or tweaked version of
this certificate in the future, simply run certbot again with the
“certonly” option. To non-interactively renew *all* of your
certificates, run “certbot renew”
— If you like Certbot, please consider supporting our work by:

Donating to ISRG / Let’s Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le

Una vez realizado el proceso y ver que la actualización y renovación del certificado se había producido de forma correcta, solo me quedaba comprobar desde alguna entidad externa que todo era cierto.

Desde la página SSLshopper, pude comprobar que, efectivamente, está renovado:

Eso es todo, cualquier comentario, sugerencia o corrección es bienvenida.

¡Chimpún!

--

--