SSL /TLS Emisión y revocación de certificados con ACME

Logotipo de ACMELos clientes de SSL.com ahora pueden usar el popular protocolo ACME para solicitar y revocar SSL /TLS Certificados.

ACME (Entorno de gestión de certificados automatizado) es un protocolo estándar para la validación de dominio automatizada e instalación de certificados X.509, documentado en IETFRFC 8555. Como un estándar bien documentado con muchos de código abierto implementaciones de clientes, ACME ofrece una forma sencilla de aprovisionar sitios web o Dispositivos de IoT como módems y enrutadores con certificados digitales de confianza pública o privada y mantenga estos certificados actualizados con el tiempo.

¡ACME no es solo para sitios web! Con una CA emisora ​​habilitada para ACME de SSL.com, los proveedores de IoT pueden administrar y automatizar fácilmente la validación, instalación, renovación y revocación de SSL /TLS certificados en dispositivos compatibles con ACME.

Obtenga más información sobre ACME para IoT

Esta guía le mostrará cómo:

  • Busque y recupere las credenciales que necesitará para solicitar certificados con ACME.
  • Utilice Certbot para solicitar SSL /TLS certificados a través del HTTP-01 y DNS-01 métodos de desafío.
  • Revocar certificados con Certbot.
Nota:
Puede utilizar muchos otros clientes ACME, incluidos Administrador de certificados de Kubernetes, con el servicio ACME de SSL.com.
acme4j  El cliente ahora puede usar los servicios ACME de SSL.com en este repositorio: https://github.com/SSLcom/acme4j
Consulte la documentación de su proveedor de software para obtener instrucciones para otros clientes que no sean Certbot ACME.

Instalar Certbot

Esta guía asume que está trabajando en una computadora que tiene Certbot instalado. Certbot es una herramienta gratuita y de código abierto, desarrollada por Electronic Frontier Foundation (EFF), que puede utilizar para solicitar o revocar SSL /TLS certificados de SSL.com a través del protocolo ACME. Certbot se puede ejecutar en una variedad de plataformas, incluidas Linux, macOS y Windows.

  • Si tiene snapd instalado, puede utilizar este comando para la instalación:
    sudo snap install - certbot clásico
  • If /snap/bin/ no esta en tu PATH, también necesitará agregarlo o ejecutar un comando como este:
    sudo ln -s / snap / bin / certbot / usr / bin / certbot

Si necesita más información sobre la instalación de Certbot en su sistema, consulte la EFF documentación.

Recuperar credenciales ACME

Antes de utilizar ACME para solicitar un certificado, deberá recuperar su Clave de cuenta y Clave HMAC desde su cuenta SSL.com.

SSL.com's Revendedor y compras por volumen los socios pueden generar credenciales ACME para sus clientes. Leer este tutorial Para instrucciones completas.
  1. Inicie sesión en su cuenta de SSL.com. Si ya ha iniciado sesión, vaya a la Panel De Control .
    Panel De Control
  2. Haga clic credenciales de la API, ubicado debajo desarrolladores e integración.
    Enlace de credenciales de API
  3. Necesitarás tu Cuenta / clave ACME y Clave HMAC para solicitar certificados. Haga clic en el icono del portapapeles () junto a cada tecla para copiar el valor al portapapeles.
    Cuenta / clave ACME y clave HMAC
  4. También puede copiar un comando de Certbot precargado con su dirección de correo electrónico, clave Cuenta / ACME y clave HMAC haciendo clic en el icono del portapapeles () cerca de comando cli, Por debajo Certbot ACME. Este comando preformateado solicitará un certificado a través del método de desafío HTTP-01.Copiar comando certbot

Solicite manualmente un SSL /TLS Certificado

Ahora que ha recuperado sus credenciales, puede solicitar un certificado a través del certbot mando. Certbot admite dos métodos de validación de dominio (DV): HTTP-01 y DNS-01.

Método de desafío HTTP-01

HTTP-01 es el método de desafío más utilizado con ACME y Certbot. Cuando solicita un certificado de esta manera, Certbot generará un token que puede usar para crear un archivo de acceso público en su sitio web. El servidor ACME de SSL.com verificará el archivo a través de HTTP y emitirá un certificado firmado si es correcto.

Requisitos: El método HTTP-01 requiere que tenga acceso a su servidor web y que el sitio esté disponible a través del puerto 80 a través de HTTP. También necesitarás sudo privilegios en la computadora.

Para recuperar manualmente un certificado, use el siguiente comando. Reemplace los valores TODOS EN MAYÚSCULAS con sus valores reales. (Como se señaló anteriormente, también puede copiar y pegar un comando certbot que hace esto desde su cuenta del portal):

sudo certbot certonly --manual --server https://acme.ssl.com/sslcom-dv-ecc --config-dir /etc/ssl-com --logs-dir /var/log/ssl-com -- aceptar-tos --no-eff-email --email DIRECCIÓN DE CORREO ELECTRÓNICO --eab-hmac-key CLAVE-HMAC --eab-kid CLAVE-CUENTA -d NOMBRE.DOMINIO

Desglosando el comando:

  • sudo certbot corre el certbot comando con privilegios de superusuario.
  • certonly solicita recuperar un certificado, pero no instalarlo.
  • --manual especifica que se ejecute Certbot de forma interactiva.
  • --server https://acme.ssl.com/sslcom-dv-ecc especifica el servidor ACME de SSL.com.
  • --config-dir /etc/ssl-com (opcional) establece el directorio de configuración.
  • --logs-dir /var/log/ssl-com (opcional) establece el directorio para los registros.
  • --agree-tos (opcional) acepta el acuerdo de suscriptor de ACME. Puede omitir esto si desea estar de acuerdo de forma interactiva.
  • --no-eff-email (opcional) indica que no desea compartir su dirección de correo electrónico con la EFF. Si omite esto, se le pedirá la opción de compartir su dirección de correo electrónico.
  • --email EMAIL-ADDRESS proporciona una dirección de correo electrónico de registro. Puede especificar varias direcciones, separadas por comas.
  • --eab-hmac-key HMAC-KEY especifica su clave HMAC.
  • --eab-kid ACCOUNT-KEY especifica la clave de su cuenta.
  • -d DOMAIN.NAME especifica el nombre de dominio que cubrirá el certificado. Tenga en cuenta que puede utilizar el -d DOMAIN.NAME opción varias veces en su comando para agregar nombres de dominio a su certificado. Certbot le pedirá que cree un archivo de desafío para cada nombre de dominio solicitado. Consulte la sección sobre tipos de certificados y facturación a continuación para ver cómo se asignan las diferentes combinaciones de nombres de dominio a Tipos de certificado SSL.com y su precio correspondiente.
Nota: Certbot 2.0.0 o más reciente genera de forma predeterminada ECDSA para nuevos certificados. El comando anterior generará un par de claves y un certificado ECDSA. Para usar claves RSA en su lugar:

  • Cambie el --server valor en el comando para https://acme.ssl.com/sslcom-dv-rsa
  • Añada --key-type rsa al comando.
Cuando ejecuta por primera vez lo anterior certbot comando, la información de la cuenta ACME se almacenará en su computadora en el directorio de configuración (/etc/ssl-com en el comando que se muestra arriba. En futuras ejecuciones de certbot, puede omitir el --eab-hmac-key y --eab-kid opciones porque certbot las ignorará en favor de la información de la cuenta almacenada localmente.

Si necesita asociar sus pedidos de certificados ACME para la computadora con una cuenta de SSL.com diferente, debe eliminar esta información de cuenta de su computadora con el comando sudo rm -r /etc/ssl-com/accounts/acme.ssl.com (o, si omitió el opcional --config-dir opción, sudo rm -r /etc/letsencrypt/accounts/acme.ssl.com).

Cuando ejecute el comando anterior, debería recibir instrucciones para crear un archivo de validación:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Cree un archivo que contenga solo estos datos: cr1rsRTImVz_s7HHk7biTQ. 9mOlJPgZ8D97HojOHnhD6hYeZZOPDUDNMxchFUNJQvI Y hágalo disponible en su servidor web en esta URL: http://DOMAIN.NAME/.well-known/acme-challenge/cr1rsRTImVz_s7HHk7biTQ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Presione Enter para continuar

Cree el archivo y guárdelo en una ubicación en su servidor web donde se pueda acceder a través de HTTP a través del puerto 80 en la URL que se muestra, luego presione Enter.

Nota: El desafío HTTP-01 puede requerir un nombre de archivo que comience con un guión (-) personaje. En este caso, es posible que deba especificar el directorio al crear su archivo para evitar que el shell interprete el guión (p. Ej. vim ./-r1rsRTImVz_s7HHk7biTQ).

Si toda su información es correcta, debería recibir un mensaje de confirmación que muestre las ubicaciones de su cadena de certificados y clave privada:

NOTAS IMPORTANTES: - ¡Felicitaciones! Su certificado y cadena se han guardado en: /etc/ssl-com/live/DOMAIN.NAME/fullchain.pem Su archivo de claves se ha guardado en: /etc/ssl-com/live/DOMAIN.NAME/privkey.pem Su cert expirará el 2021-10-05. Para obtener una versión nueva o modificada de este certificado en el futuro, simplemente ejecute certbot nuevamente. Para renovar * todos * sus certificados de forma no interactiva, ejecute "certbot renew"

Ahora puede configurar su servidor web para acceder al nuevo certificado y clave privada.

Método de desafío DNS-01

El DNS-01 El método de desafío es más complicado de usar que HTTP-01, pero puede ser más conveniente para usar en múltiples servidores web. En este método, Certbot proporcionará un token que utilizará para crear un registro TXT de DNS con el nombre de dominio que protegerá el certificado.

Requisitos: El método DNS-01 requiere que tenga la capacidad de crear registros DNS para el nombre de dominio de su sitio web.

El siguiente comando solicitará un certificado para DOMAIN.NAME a través del método de desafío DNS-01:

sudo certbot certonly --manual --server https://acme.ssl.com/sslcom-dv-rsa --agree-tos --no-eff-email --email EMAIL-ADDRESS --eab-hmac-key HMAC-KEY --eab-kid ACCOUNT-KEY --preferred-challenges dns -d DOMAIN.NAME

Nota: Puede utilizar el -d DOMAIN.NAME opción varias veces en su comando para agregar nombres de dominio a su certificado. Certbot le pedirá que cree un registro TXT de DNS independiente para cada nombre de dominio solicitado. No tiene que esperar a que se propague cada registro TXT antes de presionar Enter hasta llegar al desafío final. Consulte la sección sobre tipos de certificados y facturación a continuación para ver cómo se asignan las diferentes combinaciones de nombres de dominio a Tipos de certificado SSL.com y su precio correspondiente.
Cuando ejecuta por primera vez lo anterior certbot comando, la información de la cuenta ACME se almacenará en su computadora en el directorio de configuración (/etc/ssl-com en el comando que se muestra arriba. En futuras ejecuciones de certbot, puede omitir el --eab-hmac-key y --eab-kid opciones porque certbot las ignorará en favor de la información de la cuenta almacenada localmente.

Si necesita asociar sus pedidos de certificados ACME para la computadora con una cuenta de SSL.com diferente, debe eliminar esta información de cuenta de su computadora con el comando sudo rm -r /etc/ssl-com/accounts/acme.ssl.com (o, si omitió el opcional --config-dir opción, sudo rm -r /etc/letsencrypt/accounts/acme.ssl.com).

Este comando es el mismo que el de la sección HTTP-01, pero agrega el --preferred-challenges dns opción. Cuando ejecute el comando, recibirá instrucciones para crear un registro DNS:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please deploy a DNS TXT record under the name _acme-challenge.DOMAIN.NAME with the following value: -87YKoj3sQZB4rVCMZTiifl9QJKYm2eYYymAkpE0zBo Before continuing, verify the record is deployed. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Press Enter to Continue

Cree el registro TXT de DNS y espere a que se propague. (whatsmydns.net es una herramienta conveniente para verificar la propagación de DNS). Tenga en cuenta que el carácter de subrayado (_) al principio del nombre del registro es Requisitos. Cuando el registro se haya propagado por todo el mundo, presione Enter.

Si solicita un certificado comodín (p. Ej. *.example.com) deberá solicitar el nombre de dominio base por separado si también desea protegerlo (por ejemplo -d *.example.com -d example.com). En tal caso, necesitará crear dos Registros TXT con el mismo nombre (_acme-challenge.example.com).

Si toda su información es correcta, debería recibir un mensaje de confirmación que muestre las ubicaciones de su cadena de certificados y clave privada:

IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/ssl-com/live/DOMAIN.NAME/fullchain.pem Your key file has been saved at: /etc/ssl-com/live/DOMAIN.NAME/privkey.pem Your cert will expire on 2021-10-05. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run "certbot renew"

Ahora puede configurar su servidor web para acceder al nuevo certificado y clave privada.

Renovación de certificado (manual)

Para los certificados emitidos manualmente (como se describe en esta guía), la renovación del certificado se logra simplemente repitiendo el comando utilizado para solicitar el certificado. Certbot proporciona un renew subcomando, pero producirá un error en un intento de usarlo con certificados solicitados con el --manual opción:

sudo certbot renew --force-renewal Guardando el registro de depuración en /var/log/ssl-com/letsencrypt.log - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Procesando /etc/ssl-com/renewal/DOMAIN.NAME - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - No se pudo elegir el complemento adecuado: el complemento manual no funciona; puede haber problemas con su configuración existente. El error fue: PluginError ('Se debe proporcionar un script de autenticación con --manual-auth-hook cuando se usa el complemento manual de forma no interactiva',) Intentando renovar el certificado (DOMAIN.NAME) desde / etc / ssl-com / renewal / DOMAIN.NAME.conf produjo un error inesperado: el complemento manual no funciona; puede haber problemas con su configuración existente. El error fue: PluginError ('Se debe proporcionar un script de autenticación con --manual-auth-hook cuando se usa el complemento manual de forma no interactiva',). Salto a la comba. Todos los intentos de renovación fallaron. Los siguientes certificados no se pudieron renovar: /etc/ssl-com/live/DOMAIN.NAME/fullchain.pem (falla) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Todos los intentos de renovación fallaron. Los siguientes certificados no se pudieron renovar: /etc/ssl-com/live/DOMAIN.NAME/fullchain.pem (falla) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 falla (s) de renovación, 0 falla (s) de análisis

Revocación de certificado

Revocar un certificado con certbot revoke. Reemplace la ruta del certificado en TODAS LAS MAYÚSCULAS con sus valores reales (por ejemplo, /etc/ssl-com/live/example.com/cert.pem). Si no especificó un personalizado --config-dir y --logs-dir al solicitar el certificado original, omita estas opciones.

sudo certbot revoke --server https://acme.ssl.com/sslcom-dv-rsa --cert-path /PATH/TO/cert.pem --config-dir / etc / ssl-com --logs-dir / var / log / ssl-com

Se le preguntará si también desea eliminar el certificado revocado:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ¿Desea eliminar los certificados que acaba de revocar, junto con todas las versiones anteriores y posteriores del certificado? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y) es (recomendado) / (N ) o: Y - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Eliminados todos los archivos relacionados con el certificado NOMBRE DE DOMINIO. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Nota: algunos usuarios pueden recibir este error al intentar revocar un certificado usando SSL.compunto final ACME:Unable to register an account with ACME server. Error returned by the ACME server: Something went wrong. We apologize for the inconvenience.

Intente lo siguiente para resolver el error:
a) Especifique la ruta de la clave privada del certificado para firmar la solicitud de revocación.
Ejemplo: --key-path /PATH/TO/privkey.pem
b) Si usó un directorio personalizado, especifique el directorio que usó cuando emitió el certificado: --config-dir

Tipos de certificados y facturación

Todo SSL /TLS Los certificados emitidos a través de ACME por SSL.com son certificados de un año. El tipo de certificado SSL.com que recibirá (y se le facturará) depende del número y tipo de nombres de dominio solicitados:

  • Básico SSL: Un nombre de dominio o un nombre de dominio más www subdominio (p. ej. example.com y www.example.com).
    • Tenga en cuenta que si desea proteger tanto el nombre de dominio base como www, debe incluir ambos en su comando Certbot (p. ej. -d example.com -d www.example.com).
  • SSL comodín: Un nombre de dominio comodín o un nombre de dominio comodín más el nombre de dominio base (p. Ej. *.example.com y example.com).
  • SSL Premium: Nombre de dominio base y de uno a tres subdominios sin comodines. (Excepción: como se indicó anteriormente, dominio base más www subdominio [y ningún otro] se facturará como SSL básico). Por ejemplo:
    • example.com y info.example.com
    • example.comwww.example.comy info.example.com
    • example.comwww.example.com, info.example.com y store.example.com
  • Multi-Dominio UCC / SAN SSL: Cualquier otra combinación de nombres de dominio. Por ejemplo:
    • Nombre de dominio base y más de tres subdominios
    • Dos o más nombres de dominio comodín y / o no subdominio

Participantes en SSL.com's Programa de revendedores y compras por volumen se facturará a la tarifa con descuento asociada con su nivel de precios.

Para más información

Puede hacer mucho más con el protocolo ACME (con o sin Certbot). Consulte los siguientes recursos para obtener mucha más información:

¿Necesita más ayuda con su cuenta SSL.com?

¡Gracias por elegir SSL.com! Si tiene alguna pregunta, comuníquese con nosotros por correo electrónico a Support@SSL.com, llamada 1-877-SSL-SECURE, o simplemente haga clic en el enlace de chat en la parte inferior derecha de esta página. También puede encontrar respuestas a muchas preguntas de soporte comunes en nuestro base de conocimientos.
Twitter
Facebook
Etiqueta LinkedIn
Reddit
Correo electrónico

Manténgase informado y seguro

SSL.com es líder mundial en ciberseguridad, PKI y certificados digitales. Regístrese para recibir las últimas noticias, consejos y anuncios de productos de la industria de SSL.com.

Nos encantaría recibir tus comentarios

Responda nuestra encuesta y háganos saber lo que piensa sobre su compra reciente.