Parece ser que cada vez se le da más importancia a los certificados SSL en los sitios web. El navegador Google Chrome va a marcar como no seguras todas las páginas que no tengan certificado SSL instalado a partir de julio de este mismo año 2018 [1].
A pesar de que los certificados de pago tienen ciertas ventajas frente a los gratuitos, para los que no vivimos de nuestro sitio web o nos queremos ahorrar unos euros, siempre viene bien el tener una herramienta que nos permita crear certificados gratuitos, y para ello existe Let’s Encrypt SSL.
La herramienta a instalar en nuestro sistema operativo es certbot. Yo particularmente he optado por descargar manualmente certbot, conceder los permisos necesarios y ejecutar la línea correspondiente para generar un certificado:
wget https://dl.eff.org/certbot-auto chmod a+x certbot-auto
Tras esto, he ejecutado el comando para generar el certificado en un dominio concreto (nótese que hay que modificar las variables que se encuentran entre <>):
certbot certonly --webroot -w <DIRECTORIO_DEL_VIRTUALHOST> -d www.<TU_DOMINIO> -d <TU_DOMINIO> --email <TU_EMAIL> --agree-tos
Por ejemplo, para mi dominio jabenitez.com, siendo su directorio /home/jabenite/www sería:
certbot certonly --webroot -w /home/jabenite/www -d www.jabenitez.com -d jabenitez.com --email info@jabenitez.com --agree-tos
Pues tras ejecutar esto, obtuve el siguiente error:
IMPORTANT NOTES: - The following errors were reported by the server: Domain: www.jabenitez.com Type: unauthorized Detail: The key authorization file from the server did not match this challenge [q_xgSEl1AYUY2_0EZEiTtHKo8b1y8oezNiPRUm1vV8U.Q7NXPVj9xFc0u8qKxXTR-QW1RC3vyDsT8yP1JwGMbp8] != [q_xgSEl1AYUY2_0EZEiTtHKo8b1y8oezNiPRUm1vV8U.4E3VCTFsySjUrqnCg0ooULx-3kbdPBygi0aWkvg5Gd8] Domain: jabenitez.com Type: unauthorized Detail: The key authorization file from the server did not match this challenge [UCdPksh2HlSkbVy5mXq6pSyuf6EpoPf9BVZOJm54mUo.Q7NXPVj9xFc0u8qKxXTR-QW1RC3vyDsT8yP1JwGMbp8] != [UCdPksh2HlSkbVy5mXq6pSyuf6EpoPf9BVZOJm54mUo.4E3VCTFsySjUrqnCg0ooULx-3kbdPBygi0aWkvg5Gd8] To fix these errors, please make sure that your domain name was entered correctly and the DNS A/AAAA record(s) for that domain contain(s) the right IP address.
Tras mucho buscar, la solución que yo tuve que aplicar (no tiene porqué ser siempre la misma) fue la de borrar las DNS A de tipo IPv6 en mi servidor, es decir, yo tenía unos registros A/AAA IPv4 asociados a jabenitez.com y www.jabenitez.com y otros registros IPv6. Pues sencillamente borrando los IPv6 asociados al domino jabenitez.com, ya funcionó la generación del certificado.
- Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/www.jabenitez.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/www.jabenitez.com/privkey.pem Your cert will expire on 2018-05-15. To obtain a new or tweaked version of this certificate in the future, simply run certbot-auto again. To non-interactively renew *all* of your certificates, run "certbot-auto 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
Espero que os haya servido de ayuda el artículo.
[1] Chrome marcará como “no seguras” todas las páginas HTTP a partir de julio
Marc Guillem
Mar 1, 2022 -
Buenas, me he encontrado con el mismo problema.
Mi situación es un tanto diferente, yo vengo con un dominio que tenía un hosting asociado, lo cuál ya tenía registros DNS creados automáticamente.
El caso es que asocié mi dominio a una IP (una VM en AWS) para que Certbot creara un certificado. El resultado fué el que has publicado aquí mismo:
“The key authorization file from the server did not match this challenge”.
Miré los logs de Certbot y el problema esta en que cuando resuelve el dominio se encuentra 2 direcciones IP, la primera es IPV4, la segunda IPV6. Bueno pues Certbot prefiere las IPV6 ante las IPV4, y mi IPV6 apuntaba a mi antiguo hosting.
Marcello
Nov 25, 2022 -
Thanks,
I had the same problem. I have not seen AAAA record in DNS. I deleted it and the certificate was created.