Solicita un certificado con una AC pública y un cliente ACME
En este instructivo, se explica cómo solicitar un certificado TLS con Public Certificate Authority con Google Cloud CLI. Para obtener información sobre las AC raíz y intermedias que usa la AC pública, consulta Google Trust Services. No se cobra ninguna tarifa por solicitar certificados de la AC pública.
Antes de comenzar
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
Asegúrate de tener el propietario (
roles/owner
) o el Creador de claves de cuenta externa de CA pública (publicca.externalAccountKeyCreator
) rol de IAM.Para otorgar el rol de IAM Creador de claves de cuenta externa de AC pública (
publicca.externalAccountKeyCreator
), ejecuta el siguiente comando:gcloud projects add-iam-policy-binding PROJECT_ID \ --member=user:USER \ --role=roles/publicca.externalAccountKeyCreator
Reemplaza lo siguiente:
PROJECT_ID
El ID de tu proyecto de Google Cloud.USER
: El identificador único del usuario al que deseas enviarle asignar el rol de IAM
Si quieres obtener información para otorgar un rol de IAM, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Enable the Public CA API:
gcloud services enable publicca.googleapis.com
Instalar un cliente
Para comenzar a usar la AC pública, debes instalar un cliente ACME. En las siguientes instrucciones, se usa Certbot como cliente de ACME. Puedes usar cualquier otro cliente de ACME si el cliente admite la vinculación de cuenta externa (EAB).
Para instalar Certbot, consulta las instrucciones de Certbot.
Asegúrate de dirigir a tu cliente al servidor de la AC pública. La primera vez que el cliente de ACME interactúa con la AC pública, genera un par de claves nuevo y envía la clave pública a la AC pública.
Solicita un ID de clave y un HMAC de EAB
Después de instalar un cliente de ACME, debes registrar tu cuenta de ACME con la AC pública para solicitar certificados de la AC pública. Un secreto de EAB puede ayudarte a registrar tu cuenta de ACME con AC pública: Un secreto de EAB consta de un ID de clave y un código de autenticación de mensajes basado en hash (HMAC).
Puedes usar la API de CA pública o Google Cloud CLI para solicitar un secreto de EAB.
Para solicitar un ID de clave y un HMAC de EAB, ejecuta el siguiente comando:
gcloud publicca external-account-keys create
Este comando muestra un secreto de EAB válido en el entorno de
de la AC pública. En el cuerpo de la respuesta, el campo keyId
contiene el ID de clave EAB y el campo b64MacKey
contiene el HMAC de EAB.
Debes usar un secreto de EAB en un plazo de 7 días después de obtenerlo. El secreto de EAB se invalida si no lo usas en un plazo de 7 días. La cuenta de ACME registrada con un secreto de EAB no vence.
Registra una cuenta de ACME
En esta sección, se explica cómo registrar una cuenta de ACME con la AC pública proporcionando el secreto de EAB que acabas de obtener.
Usa un cliente ACME normal para registrar una cuenta de ACME y proporciona el ID de clave y el HMAC de EAB durante el registro.
Cómo registrar una cuenta de ACME con Public CA y vincular la ACME al proyecto de Google Cloud que usaste para solicitar el secreto de EAB, ejecuta el siguiente comando:
certbot register \ --email "EMAIL_ADDRESS" \ --no-eff-email \ --server "SERVER" \ --eab-kid "EAB_KID" \ --eab-hmac-key "EAB_HMAC_KEY"
Reemplaza lo siguiente:
EMAIL_ADDRESS
: tu dirección de correo electrónicoSERVER
: Es la URL del directorio de ACME para el entorno de producción o etapa de pruebasEAB_KID
: El ID de clave EABEAB_HMAC_KEY
: La clave HMAC de EAB
En la siguiente tabla, se proporciona la descripción y la URL del directorio de ACME para el entorno de producción y de pruebas:
Entorno | Descripción | URL del directorio de ACME |
---|---|---|
Producción | El entorno de producción te permite obtener certificados de confianza pública. | https://dv.acme-v02.api.pki.goog/directory |
Etapa de pruebas | El entorno de pruebas muestra certificados que no son de confianza pública. El entorno de etapa de pruebas realiza las mismas verificaciones de validación que el entorno de producción. en un entorno de nube. Puedes usar el entorno de etapa de pruebas para la integración o cualquier otro tipo de prueba. | https://dv.acme-v02.test-api.pki.goog/directory |
Solo puedes registrar una cuenta de ACME con un secreto de EAB. Después de que tengas registró una cuenta de ACME con un secreto de EAB, este deja de ser válido y no puedes reutilizarlo. Si quieres registrar varias cuentas de ACME, debes solicitar un secreto de EAB único para cada una de ellas.
Solicitar certificados
Después de que la AC pública valide tu control del objetivo del certificado y reconozca que tu cliente de ACME funciona como se espera para realizar operaciones de administración de certificados, puedes usar los flujos de trabajo normales de ACME para solicitar, renovar y revocar certificados. Puedes realizar estas operaciones con tu cliente de ACME. Para solicitar y renovar un certificado, debes completar un desafío de ACME como la comprobación manual de DNS.
Para usar la verificación DNS manual para solicitar un certificado, ejecuta el siguiente comando:
certbot certonly \ --manual \ --preferred-challenges "dns-01" \ --server "SERVER" \ --domains "DOMAINS"
Reemplaza lo siguiente:
SERVER
: Es la URL del directorio de ACME para la producción o la etapa de pruebas. medio ambienteDOMAINS
: una lista de dominios separados por comas para los que estás solicitando certificados
Limpia
Si ya no necesita certificados para sus dominios, borrar el proyecto que creaste.
Etapa de pruebas
Puedes usar el entorno de pruebas de la AC pública para solicitar certificados con fines de prueba. Los certificados emitidos por la etapa hasta una CA raíz de prueba. Los certificados del entorno de etapa de pruebas no serán de confianza para navegadores ni otras clientes que no se configuraron para confiar en el certificado raíz de la etapa de pruebas. Para obtener un secreto de EAB válido en el entorno de etapa de pruebas, anula el extremo de API para usar el extremo del entorno de etapa de pruebas:
gcloud config set api_endpoint_overrides/publicca https://preprod-publicca.googleapis.com/
gcloud publicca external-account-keys create
gcloud config unset api_endpoint_overrides/publicca
Delete a Google Cloud project:
gcloud projects delete PROJECT_ID