Richiedere un certificato utilizzando l'autorità di certificazione pubblica e un client ACME

Questo tutorial illustra come richiedere un certificato TLS con Public Certificate Authority utilizzando Google Cloud CLI. Per informazioni sul sistema principale CA intermedie utilizzate dall'autorità di certificazione pubblica; consulta Google Trust Services. Non è previsto alcun costo per richiedere certificati dalla CA pubblica.

Prima di iniziare

  • 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.

  • Assicurati di avere il proprietario (roles/owner) o il Creatore chiave account esterno CA pubblica (publicca.externalAccountKeyCreator) Ruolo IAM.

    Per concedere il ruolo IAM External Account Key Creator (publicca.externalAccountKeyCreator) della CA pubblica, esegui il seguente comando:

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member=user:USER \
      --role=roles/publicca.externalAccountKeyCreator
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del tuo progetto Google Cloud
    • USER: l'identificatore univoco dell'utente a cui vuoi assegnare il ruolo IAM

    Per informazioni sulla concessione di un ruolo IAM, consulta Gestire l'accesso a progetti, cartelle per le organizzazioni.

  • Enable the Public CA API:

    gcloud services enable publicca.googleapis.com

Installa un client

Per iniziare a utilizzare Public CA, devi installare un Client ACME. Le seguenti istruzioni utilizzano Certbot come client ACME. Puoi utilizzare qualsiasi altro client ACME se quest'ultimo supporta l'associazione di account esterni (EAB).

Per installare Certbot, consulta le istruzioni di Certbot.

Assicurati di indirizzare il client al server Public CA. Il primo volta che il client ACME interagisce con una Public CA, il client genera una nuova coppia di chiavi e invia la chiave pubblica alla CA pubblica.

Richiedi un ID chiave EAB e HMAC

Dopo aver installato un client ACME, devi registrare il tuo account ACME con una Public CA per richiedere certificati dalla CA pubblica. Un secret EAB può aiutarti a registrare il tuo account ACME con CA pubblica. Un secret EAB è costituito da un ID chiave e da un token basato su hash il codice di autenticazione dei messaggi (HMAC, Message Authentication Code).

Puoi utilizzare l'API Public CA o Google Cloud CLI per richiedere un secret EAB.

Per richiedere un ID chiave EAB e HMAC, esegui questo comando:

gcloud publicca external-account-keys create

Questo comando restituisce un segreto EAB valido nell'ambiente di produzione della CA pubblica. Nel corpo della risposta, il parametro keyId contiene l'ID chiave EAB, mentre il campo b64MacKey contiene l'HMAC EAB.

Devi utilizzare un secret EAB entro 7 giorni dalla data in cui l'hai ottenuto. Il secret EAB è invalidato se non lo utilizzi entro 7 giorni. L'account ACME registrato mediante un secret EAB non ha scadenza.

Registra un account ACME

Questa sezione spiega come registrare un account ACME con Public CA fornendo il secret EAB che hai appena ottenuto.

Utilizza un normale client ACME per registrare un account ACME e fornisci il ID chiave EAB e HMAC durante la registrazione.

Per registrare un account ACME con una Public CA e vincolare l'ACME al progetto Google Cloud che hai utilizzato per richiedere il secret EAB, esegui seguente comando:

certbot register \
    --email "EMAIL_ADDRESS" \
    --no-eff-email \
    --server "SERVER" \
    --eab-kid "EAB_KID" \
    --eab-hmac-key "EAB_HMAC_KEY"

Sostituisci quanto segue:

  • EMAIL_ADDRESS: il tuo indirizzo email
  • SERVER: l'URL della directory ACME per l'ambiente di produzione o di staging
  • EAB_KID: ID chiave EAB
  • EAB_HMAC_KEY: la chiave HMAC EAB

La tabella seguente fornisce la descrizione e l'URL della directory ACME per di produzione e di gestione temporanea:

Ambiente Descrizione URL della directory ACME
L'ambiente di produzione ti consente di ottenere certificati attendibili pubblicamente. https://dv.acme-v02.api.pki.goog/directory
Gestione temporanea L'ambiente di gestione temporanea restituisce i certificati che non sono considerati attendibili pubblicamente. L'ambiente di gestione temporanea esegue gli stessi controlli di convalida dell'ambiente di produzione completamente gestito di Google Cloud. Puoi utilizzare l'ambiente di staging per l'integrazione o per qualsiasi altro tipo di test. https://dv.acme-v02.test-api.pki.goog/directory

Puoi registrare un solo account ACME con un secret EAB. Dopo aver ottenuto registrato un account ACME utilizzando un secret EAB, il secret EAB non è più valido e non puoi riutilizzarlo. Se vuoi registrare più account ACME, devi richiedere un segreto EAB univoco per ogni account.

Richiedi certificati

Dopo che la CA pubblica convalida il tuo controllo della destinazione del certificato e riconosce che il client ACME funziona come previsto operazioni di gestione dei certificati, puoi usare i normali flussi di lavoro di ACME richiedere, rinnovare e revocare certificati. Puoi eseguire queste operazioni utilizzando il tuo cliente ACME. Per richiedere e rinnovare un certificato, devi completare una sfida ACME, come la verifica DNS manuale.

Per utilizzare la verifica DNS manuale per richiedere un certificato, esegui questo comando: :

certbot certonly \
    --manual \
    --preferred-challenges "dns-01" \
    --server "SERVER" \
    --domains "DOMAINS"

Sostituisci quanto segue:

  • SERVER: l'URL della directory ACME per la produzione o la gestione temporanea ambiente
  • DOMAINS: un elenco separato da virgole di domini di cui sei richiedere certificati

Esegui la pulizia

Se non hai più bisogno dei certificati per i tuoi domini, per eliminare il progetto che hai creato.

Gestione temporanea

Puoi utilizzare l'ambiente di gestione temporanea della Public CA per richiedere certificati a scopo di test. I certificati emessi dalla gestione temporanea catena di ambienti fino a una CA radice di test. I certificati provenienti dall'ambiente di gestione temporanea non saranno considerati attendibili dai browser o da altri client che non sono stati configurati per considerare attendibile il certificato radice di gestione temporanea. Per ottenere un secret EAB valido nell'ambiente di gestione temporanea, esegui l'override dell'endpoint API per utilizzare l'endpoint per l'ambiente di gestione temporanea:

gcloud config set api_endpoint_overrides/publicca https://preprod-publicca.googleapis.com/
Quindi esegui il comando di creazione della chiave dell'account per creare una chiave temporanea:
gcloud publicca external-account-keys create
Per ripristinare l'endpoint per l'ambiente di produzione, esegui il seguente comando:
gcloud config unset api_endpoint_overrides/publicca

Delete a Google Cloud project:

gcloud projects delete PROJECT_ID

Passaggi successivi