Richiedi un certificato utilizzando una Public CA e un client ACME
Questo tutorial illustra come richiedere un certificato TLS con un'Public Certificate Authority utilizzando Google Cloud CLI. Per informazioni sulle CA radice e intermedie utilizzate dall'Public Certificate Authority, consulta Google Trust Services. Non è previsto alcun costo per la richiesta di certificati alla CA pubblica.
Prima di iniziare
Installa Google Cloud CLI, quindi initialize eseguendo questo comando:
gcloud init
Crea o seleziona un progetto Google Cloud.
-
Crea un progetto Google Cloud:
gcloud projects create PROJECT_ID
Sostituisci
PROJECT_ID
con un nome per il progetto Google Cloud che stai creando. -
Seleziona il progetto Google Cloud che hai creato:
gcloud config set project PROJECT_ID
Sostituisci
PROJECT_ID
con il nome del tuo progetto Google Cloud.
-
Assicurati di disporre del ruolo IAM Proprietario (
roles/owner
) o Creatore chiave account esterna CA pubblica (publicca.externalAccountKeyCreator
).Per concedere il ruolo IAM Creatore chiave account esterno CA pubblica (
publicca.externalAccountKeyCreator
), esegui questo 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 e organizzazioni.
Attiva Public CA API.
gcloud services enable publicca.googleapis.com
Installa un client
Per iniziare a utilizzare la Public CA, devi installare un client ACME. Nelle istruzioni seguenti viene utilizzato Certbot come client ACME. Puoi utilizzare qualsiasi altro client ACME se supporta l'associazione di account esterna (EAB).
Per installare Certbot, consulta le istruzioni per Certbot.
Assicurati di indirizzare il client al server Public CA. La prima volta che il client ACME interagisce con la Public CA, genera una nuova coppia di chiavi e invia la chiave pubblica alla CA pubblica.
Richiedi un ID chiave EAB e un HMAC
Dopo aver installato un client ACME, devi registrare il tuo account ACME con Public CA per richiedere i 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 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 un HMAC, esegui questo comando:
gcloud publicca external-account-keys create
Questo comando restituisce un secret EAB valido nell'ambiente di produzione della CA pubblica. Nel corpo della risposta, il campo keyId
contiene l'ID chiave EAB, mentre il campo b64MacKey
contiene l'HMAC EAB.
Devi utilizzare un secret EAB entro 7 giorni da quando lo hai ottenuto. Il secret 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 Public CA fornendo il secret EAB che hai appena ottenuto.
Utilizza un normale client ACME per registrare un account ACME e fornisci l'ID chiave EAB e l'HMAC durante la registrazione.
Per registrare un account ACME con Public CA e associare l'account ACME al progetto Google Cloud che hai utilizzato per richiedere il secret EAB, esegui questo 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 gestione temporaneaEAB_KID
: l'ID chiave EABEAB_HMAC_KEY
: la chiave HMAC EAB
La seguente tabella fornisce la descrizione e l'URL della directory ACME per l'ambiente di produzione e gestione temporanea:
Ambiente | Descrizione | URL directory ACME |
---|---|---|
L'ambiente di produzione ti consente di ottenere certificati pubblicamente attendibili. | https://dv.acme-v02.api.pki.goog/directory |
|
Gestione temporanea | L'ambiente di gestione temporanea restituisce i certificati che non sono attendibili pubblicamente. L'ambiente di gestione temporanea esegue gli stessi controlli di convalida dell'ambiente di produzione. 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, il secret EAB non è più valido e non può essere riutilizzato. 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 controllo della destinazione del certificato e ha confermato che il client ACME funziona come previsto per le 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 client ACME. Per richiedere e rinnovare un certificato, devi completare una verifica ACME, come la verifica manuale del DNS.
Per utilizzare la verifica manuale del DNS 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 l'ambiente di produzione o di gestione temporaneaDOMAINS
: un elenco separato da virgole di domini per i quali stai richiedendo certificati
Esegui la pulizia
Se non hai più bisogno dei certificati per i tuoi domini, elimina il progetto che hai creato.
Gestione temporanea
Puoi utilizzare l'ambiente gestione temporanea della Public CA per richiedere certificati a scopo di test. I certificati emessi dalla catena di ambienti di gestione temporanea fino a una CA radice di test. I certificati dell'ambiente di gestione temporanea non verranno considerati attendibili dai browser o da altri client non configurati in modo da considerare attendibili il certificato radice di gestione temporanea. Per ottenere un secret EAB valido nell'ambiente di gestione temporanea, esegui l'override dell'endpoint API in modo che utilizzi 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 createPer ripristinare l'endpoint per l'ambiente di produzione, esegui questo comando:
gcloud config unset api_endpoint_overrides/publicca
Elimina un progetto Google Cloud:
gcloud projects delete PROJECT_ID