Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Emissione di certificati tramite ACME
Dopo che l'amministratore PKI ha configurato un endpoint ACME con convalide di dominio e associazioni di account esterni, i proprietari delle applicazioni possono utilizzare i client ACME per emettere certificati. Questa sezione descrive il flusso di emissione, fornisce un breve esempio di utilizzo di Certbot e spiega come vengono visualizzati i certificati in ACM. ACME-issued
Come funziona l'emissione
Il flusso di emissione del certificato ACME segue il protocollo RFC 8555:
-
Registrazione dell'account: il client ACME registra un account utilizzando le credenziali EAB (ID chiave e chiave MAC). Si tratta di un passaggio una tantum per cliente ACME.
-
Ordine del certificato: il client crea un ordine che specifica i nomi di dominio per il certificato.
-
Autorizzazione: il server ACME controlla le convalide dei domini preconfigurati. Poiché l'endpoint utilizza l'
PRE_APPROVEDautorizzazione, non sono richieste sfide in tempo reale da parte del client. -
Finalizzazione: il client invia una richiesta di firma del certificato (CSR) per finalizzare l'ordine e ACM emette il certificato.
-
Download: il client scarica la catena di certificati emessa.
Importante
La chiave privata viene generata dal client ACME e non lascia mai il sistema del client.
Esempio: emissione di un certificato con Certbot
Questo esempio mostra come registrare un account ACME e richiedere un certificato utilizzando Certbot.
Prerequisiti
-
Un endpoint ACME in
ACTIVEstato (hai l'URL della directory) -
Almeno una convalida
VALIDdello stato del dominio per il dominio che desideri -
Credenziali EAB (ID chiave e chiave MAC) fornite dall'amministratore PKI
-
Certbot installato sul tuo sistema
Per registrare un account e richiedere un certificato
Importante
L'emissione del certificato tramite l'endpoint ACM ACME può richiedere fino a due minuti. Configura il timeout di emissione del tuo client ACME su almeno 120 secondi (2 minuti) per evitare che il client scada prima della consegna del certificato. L'impostazione predefinita di molti client ACME è di 30-90 secondi, il che non è sufficiente.
Esegui il comando seguente:
certbot certonly \ --standalone \ --non-interactive \ --agree-tos \ --emailuser@example.com\ --server https://acm-acme-enroll.region.api.aws/00000000-0000-0000-0000-000000000000/directory \ --eab-kidAAABBBCCC111222333\ --eab-hmac-keybase64encodedmackey\ --issuance-timeout 120 \ --domainwww.example.com
Una volta completata l'emissione, Certbot archivia il certificato e la chiave privata nella posizione predefinita (in genere). /etc/letsencrypt/live/www.example.com/
Certificati ACME in ACM
I certificati emessi tramite ACME ricevono automaticamente un certificato ACM standard ARN e vengono visualizzati nell'inventario dei certificati ACM. Tuttavia, ACME-issued i certificati presentano differenze importanti rispetto ai certificati emessi tramite. RequestCertificate
Principali differenze
-
La chiave privata è lato client: la chiave privata del certificato viene generata e archiviata dal client ACME. ACM non ha accesso alla chiave privata.
-
Impossibile collegarsi a servizi integrati: poiché AWS non contiene la chiave privata, i certificati ACME non possono essere utilizzati con Elastic Load Balancing o API CloudFront Gateway.
-
Non nell'elenco di output predefinito: per impostazione predefinita, i certificati ACME non vengono visualizzati nei
ListCertificatesrisultati. È necessario includere ilCertificateKeyPairOriginsfiltro con valoreACMEper includerli.SearchCertificatesrestituisce i certificati ACME per impostazione predefinita. -
Impossibile esportare tramite ACM: l'
ExportCertificateAPI non può essere utilizzata perché il certificato è già esportato per definizione poiché il client lo possiede. -
Revoca solo tramite ACME: utilizza l'URL revoke-cert dell'endpoint ACME. L'API ACM non funziona per i certificati.
RevokeCertificateACME-issued -
Il rinnovo è gestito dal cliente: ACM non rinnova automaticamente i certificati ACME. Il client ACME deve richiedere un nuovo certificato prima della scadenza di quello esistente.
Visualizzazione dei certificati ACME
Nella console ACM, utilizza il filtro per includere certificati con un'origine di key pair ACME. Per ulteriori informazioni sulla ricerca dei certificati, consulta. Cerca certificati
Per elencare i certificati ACME (AWS CLI)
Utilizza list-certificates con il filtro: CertificateKeyPairOrigins
aws acm list-certificates \ --certificate-key-pair-origins ACME
Per cercare certificati ACME (AWS CLI)
Utilizzalo search-certificates con il CertificateKeyPairOrigin filtro per trovare i certificati ACME in base a criteri aggiuntivi:
aws acm search-certificates \ --filter-statement '{"Filter": {"AcmCertificateMetadataFilter": {"CertificateKeyPairOrigin": "ACME"}}}'
Puoi anche cercare i certificati emessi tramite un endpoint o un account ACME specifico filtrando su o. AcmeEndpointArn AcmeAccountId
Per visualizzare i dettagli del certificato (AWS CLI)
Esegui il comando seguente:
aws acm describe-certificate \ --certificate-arn arn:aws:acm:region:account-id:certificate/certificate-id
Revoca dei certificati ACME
Per revocare un certificato emesso tramite ACME, utilizza l'endpoint revoke-cert del protocollo ACME. Il client ACME si occupa di questo.
Nota
ACME-issued i certificati non possono essere revocati utilizzando l'API RevokeCertificate ACM. È necessario revocare questi certificati tramite l'endpoint ACME che li ha emessi.
L'esempio seguente mostra la revoca tramite Certbot:
certbot revoke \ --cert-path /etc/letsencrypt/live/www.example.com/cert.pem \ --server https://acm-acme-enroll.region.api.aws/00000000-0000-0000-0000-000000000000/directory
La revoca è autorizzata dal ruolo IAM associato all'associazione dell'account esterno del cliente, pertanto qui si applicano le stesse politiche IAM e gli SCP che si applicano all'azione standardacm:RevokeCertificate. Per ulteriori informazioni sulla configurazione del ruolo IAM richiesta, consulta. IAM per l'automazione dei certificati ACME
Rinnovo del certificato
I certificati ACME non vengono rinnovati da ACM. Il tuo cliente ACME è responsabile della richiesta di un nuovo certificato prima della scadenza di quello attuale. La maggior parte dei clienti ACME (incluso Certbot) supporta il rinnovo automatico tramite attività pianificate (come cron job o systemd timers).
Stabilità dell'ARN durante i rinnovi
Quando un cliente ACME rinnova un certificato, ACM determina se la nuova emissione è il rinnovo di un certificato esistente o di un certificato distinto. Se l'emissione proviene dallo stesso account ACME con gli stessi metadati del certificato (come nomi di dominio e algoritmo chiave), ACM aggiorna l'ARN del certificato esistente anziché crearne uno nuovo. Ciò mantiene l'ARN stabile durante i rinnovi, semplificando il monitoraggio e l'automazione.
Se il certificato originale è stato rimosso da ACM (ad esempio, perché è scaduto più di un anno fa ed è stato eliminato automaticamente), un'emissione successiva con gli stessi metadati crea un nuovo ARN del certificato.
Esempio di rinnovo automatico di Certbot (in genere configurato automaticamente durante l'installazione di Certbot):
certbot renew --quiet