Let's Encrypt - certificados gratuitos para su Servidor Web

Hoy en el Blog de Let’s Encrypt anunciaron que el proyecto se encuentra en su fase Beta y que ya no se necesitan invitaciones para crear los certificados, que son totalmente gratuitos.

Yo quise probar, creando los certificados para Apache para mis dominios, y la verdad funciona perfectamente.

Aquí los pasos a seguir:

cd /usr/src

descargar el paquete:

git clone https://github.com/letsencrypt/letsencrypt

entrar en la carpeta creada:

cd letsencrypt

Y se ejecuta el comando para crear los certificados de manera manual (el único que me ha funcionado debido a la versión 2.6 de Python instalada en CentOS 6.7):

./letsencrypt-auto certonly --debug

Ese comando, instala las dependencias, actualiza el paquete si se necesita y, después de unos segundos, aparecerá:

Capture1

Donde ponemos una dirección de correo electrónico valida. Seguimos con Aceptar:

Capture2

Aceptamos los términos y condiciones del servicio. Seguimos con Agree:

Capture

Escribimos los nombre de dominios y subdominios para los cuales vamos a crear los certificados. En este ejemplo: dominio.org y www.dominio.org. Paramos el servidor Apache:

service httpd stop

Seguimos con Aceptar. Se creará la carpeta /etc/letsencrypt/live/dominio.org que contendrá los todos los certificados necesarios para la configuración de Apache. Abrimos el archivo ssl.conf

nano /etc/httpd/conf.d/ssl.conf

Modificamos las siguientes líneas:

SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
#SSLCertificateChainFile /etc/pki/tls/certs/server-chain.crt

para que queden:

SSLCertificateFile /etc/letsencrypt/live/dominio.org/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/dominio.org/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/dominio.org/fullchain.pem

Guardamos los cambios y reiniciamos Apache:

service httpd start

Accedemos al sitio Web:

https://www.dominio.org

veremos:

image

Vota el Articulo: 

Sin votos (todavía)
Evalúa la calidad del articulo

5 comentarios

Problemas con Pyton

Hola Andrea como estas,

Excelente manual

en mi caso por alguna razon no esta funcionando, segun el error que me muestra tengo una falla al asignar el FQDN del servidor, pero no encuentro por donde comenzar.

Traceback (most recent call last):
File "/root/.local/share/letsencrypt/bin/letsencrypt", line 11, in
sys.exit(main())
File "/root/.local/share/letsencrypt/lib/python2.6/site-packages/letsencrypt/cli.py", line 1283, in main
return args.func(args, config, plugins)
File "/root/.local/share/letsencrypt/lib/python2.6/site-packages/letsencrypt/cli.py", line 512, in obtain_cert
_auth_from_domains(le_client, config, domains)
File "/root/.local/share/letsencrypt/lib/python2.6/site-packages/letsencrypt/cli.py", line 336, in _auth_from_domains
lineage = le_client.obtain_and_enroll_certificate(domains)
File "/root/.local/share/letsencrypt/lib/python2.6/site-packages/letsencrypt/client.py", line 283, in obtain_and_enroll_certificate
certr, chain, key, _ = self.obtain_certificate(domains)
File "/root/.local/share/letsencrypt/lib/python2.6/site-packages/letsencrypt/client.py", line 266, in obtain_certificate
return self._obtain_certificate(domains, csr) + (key, csr)
File "/root/.local/share/letsencrypt/lib/python2.6/site-packages/letsencrypt/client.py", line 224, in _obtain_certificate
authzr = self.auth_handler.get_authorizations(domains)
File "/root/.local/share/letsencrypt/lib/python2.6/site-packages/letsencrypt/auth_handler.py", line 74, in get_authorizations
domain, self.account.regr.new_authzr_uri)
File "/root/.local/share/letsencrypt/lib/python2.6/site-packages/acme/client.py", line 215, in request_domain_challenges
typ=messages.IDENTIFIER_FQDN, value=domain), new_authz_uri)
File "/root/.local/share/letsencrypt/lib/python2.6/site-packages/acme/client.py", line 195, in request_challenges
response = self.net.post(new_authzr_uri, new_authz)
File "/root/.local/share/letsencrypt/lib/python2.6/site-packages/acme/client.py", line 634, in post
return self._check_response(response, content_type=content_type)
File "/root/.local/share/letsencrypt/lib/python2.6/site-packages/acme/client.py", line 550, in _check_response
raise messages.Error.from_json(jobj)
Error: urn:acme:error:malformed :: The request message was malformed :: Error creating new authz :: Invalid character in DNS name

Te agradeceria si me puedes dar una pista de por donde puedo cambiar el valor del FQDN

Re: Problemas con Pyton

Hola Cesar,

muy bien y tu?

El error final parece ser este:

Error creating new authz :: Invalid character in DNS name

Mira si pusiste algún carácter que no es en el nombre de dominio y asegurate que si indicaste más que uno, los nombres estés separados por una coma.

Saludos

No lei bien jeje

Hola Andrea

pues tienes razon, el problema era que estaba leyendo mal, como en la primera pantalla me pidio el correo electronico estaba colocandolo aun, fue un terrrible error de Capa 8 jejejej :D

Ahora me esta apareciendo este error,

FailedChallenges: Failed authorization procedure. eldominioquequiero.com (tls-sni-01): urn:acme:error:connection :: The server could not connect to the client for DV :: Failed to connect to host for DVSNI challenge

IMPORTANT NOTES:
- The following 'urn:acme:error:connection' errors were reported by
the server:

Domains: eldominioquequiero.com
Error: The server could not connect to the client for DV

Claro esta he reemplazado el domino por uno ficticio para este post.

Saludos Cordiales

Re: No lei bien jeje

Hola Cesar,

revisa si paraste apache como indicado en la guía y si el firewall y el DNS para ese dominio están correctamente configurados para recibir peticiones sobre el puerto 443 para el dominio para el cual estás creando el certificado.

Saludos

Hola Andrea. si, previamente

Hola Andrea.

si, previamente habia parado tanto apache como iptables para descartar problemas con el FW, el DNS para dicho dominio esta configurado (creeria yo) correctamente ya que resuelve nslookup desde cualquier sitio en Internet, no se si deba validar algo adicional, ya lo he hecho en dos servidores y en ambos me sale el mismo error :(

ambos servidores tienen 443 habilitado ya que hoy x hoy tengo certificados locales montados en el.

Muchisimas gracias por tu ayuda

Suscribirse a Comentarios de "Let's Encrypt - certificados gratuitos para su Servidor Web" Suscribirse a VozToVoice - Todos los comentarios