Richiedi un certificato utilizzando una Public CA e un client ACME
Questo tutorial illustra come richiedere un certificato TLS con Public Certificate Authority utilizzando Google Cloud CLI. Per informazioni sulle CA radice e intermedie utilizzate dalla Public Certificate Authority, consulta Google Trust Services. Non sono previsti costi per la richiesta di certificati dall'autorità di certificazione 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 disporre del ruolo IAM Proprietario (
roles/owner
) o Creatore di chiavi account esterno CA pubblico (publicca.externalAccountKeyCreator
).Per concedere al creatore della chiave account esterno della CA pubblica (
publicca.externalAccountKeyCreator
) Ruolo IAM, esegui 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 CloudUSER
: 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. La prima volta che il client ACME interagisce con la CA pubblica, genera una nuova coppia di chiavi e invia la chiave pubblica alla CA pubblica.
Richiedi un ID chiave e una chiave HMAC EAB
Dopo aver installato un client ACME, devi registrare il tuo account ACME con una Public CA per richiedere certificati dalla CA pubblica. Un segreto EAB può aiutarti a registrare il tuo account ACME con la CA pubblica. Un secret EAB è costituito da un ID chiave e da un codice HMAC (Hash-based 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 secret EAB valido nell'ambiente di produzione
dell'ambiente delle CA pubbliche. Nel corpo della risposta, il campo keyId
contiene l'ID chiave EAB e il campo b64MacKey
contiene l'HMAC EAB.
Devi utilizzare un secret EAB entro 7 giorni dalla data in cui l'hai ottenuto. Il segreto EAB viene invalidato se non lo utilizzi entro 7 giorni. L'account ACME registrato utilizzando un secret EAB non ha scadenza.
Registra un account ACME
Questa sezione spiega come registrare un account ACME con la CA pubblica fornendo il segreto EAB che hai appena ottenuto.
Utilizza un normale client ACME per registrare un account ACME e fornisci l'ID chiave e l'HMAC EAB 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 emailSERVER
: l'URL della directory ACME per l'ambiente di produzione o di stagingEAB_KID
: ID chiave EABEAB_HMAC_KEY
: la chiave HMAC EAB
La tabella seguente fornisce la descrizione e l'URL della directory ACME per l'ambiente di produzione e di staging:
Ambiente | Descrizione | URL della directory ACME |
---|---|---|
Produzione | L'ambiente di produzione consente di ottenere certificati attendibili pubblicamente. | https://dv.acme-v02.api.pki.goog/directory |
Gestione temporanea | L'ambiente di staging restituisce 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 gestione temporanea per l'integrazione o 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 registrato un account ACME utilizzando un secret EAB, questo diventa non valido e non puoi riutilizzarlo. Se vuoi registrare più account ACME, devi richiedere un secret EAB univoco per ciascuno degli account.
Richiedi certificati
Dopo che la CA pubblica ha convalidato il tuo controllo del target del certificato e ha confermato che il tuo client ACME funziona come previsto per eseguire operazioni di gestione dei certificati, puoi utilizzare i normali flussi di lavoro ACME per richiedere, rinnovare e revocare i certificati. Puoi eseguire queste operazioni utilizzando il tuo cliente ACME. Per richiedere e rinnovare un certificato, devi completare una verifica ACME, come la verifica DNS manuale.
Per utilizzare la verifica DNS manuale per richiedere un certificato, esegui il seguente 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 ambienteDOMAINS
: un elenco separato da virgole dei domini per i quali stai richiedendo i 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 staging della CA pubblica per richiedere i certificati a scopo di test. I certificati emessi dall'ambiente di staging si concatenano 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 segreto EAB valido nell'ambiente di staging, override l'endpoint API in modo da utilizzare l'endpoint per l'ambiente di staging:
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