SSL /TLS Emissione e revoca del certificato con ACME

Logo ACMEI clienti di SSL.com possono ora utilizzare il popolare protocollo ACME per richiedere e revocare SSL /TLS certificati.

ACME (Automated Certificate Management Environment) è un protocollo standard per la convalida automatizzata del dominio e l'installazione di certificati X.509, documentato in RFC 8555 dell'IETF. Come uno standard ben documentato con molti open-source implementazioni client, ACME offre un modo indolore per eseguire il provisioning di siti Web o Dispositivi IoT come modem e router con certificati digitali attendibili pubblicamente o privatamente e mantenerli aggiornati nel tempo.

ACME non è solo per i siti web! Con una CA di emissione abilitata per ACME da SSL.com, i fornitori di IoT possono gestire e automatizzare facilmente la convalida, l'installazione, il rinnovo e la revoca di SSL /TLS certificati su dispositivi compatibili con ACME.

Ulteriori informazioni su ACME per l'IoT

Questa guida ti mostrerà come:

  • Individua e recupera le credenziali necessarie per richiedere i certificati con ACME.
  • Utilizza Certbot per richiedere manualmente SSL /TLS certificati tramite il HTTP-01 ed DNS-01 metodi di sfida.
  • Revoca i certificati con Certbot.
Nota:
Puoi utilizzare molti altri client ACME, inclusi Gestore certificati Kubernetes, con il servizio ACME di SSL.com.
acme4j  il client ora può utilizzare i servizi ACME di SSL.com su questo repository: https://github.com/SSLcom/acme4j
Fare riferimento alla documentazione del fornitore del software per istruzioni relative ad altri client ACME non Certbot.

Installa Certbot

Questa guida presume che tu stia lavorando su un computer dotato di Certbot installato. Certbot è uno strumento gratuito e open source, sviluppato dalla Electronic Frontier Foundation (EFF), che puoi utilizzare per richiedere o revocare SSL /TLS certificati da SSL.com tramite il protocollo ACME. Certbot può essere eseguito su una varietà di piattaforme, inclusi Linux, macOS e Windows.

  • Se si dispone di snapd installato, puoi usare questo comando per l'installazione:
    sudo snap install --certbot classico
  • If /snap/bin/ non è nel tuo PATH, dovrai anche aggiungerlo o eseguire un comando come questo:
    sudo ln -s / snap / bin / certbot / usr / bin / certbot

Se hai bisogno di maggiori informazioni sull'installazione di Certbot sul tuo sistema, fai riferimento a EFF documentazione.

Recupera le credenziali ACME

Prima di utilizzare ACME per richiedere un certificato, dovrai recuperare il tuo Chiave account ed Chiave HMAC dal tuo account SSL.com.

SSL.com's Rivenditore e acquisti in quantità i partner possono generare credenziali ACME per i loro clienti. Leggere questo come fare per le istruzioni complete.
  1. Accedi al tuo account SSL.com. Se hai già effettuato l'accesso, vai al Performance modelli/hostess scheda.
    Performance modelli/hostess
  2. Clicchi credenziali API, che si trova sotto sviluppatori e integrazione.
    Collegamento delle credenziali API
  3. Avrai bisogno del tuo Account / chiave ACME ed Chiave HMAC per richiedere certificati. Fare clic sull'icona degli appunti () accanto a ciascuna chiave per copiare il valore negli appunti.
    Account / ACME Key e HMAC Key
  4. Puoi anche copiare un comando Certbot precompilato con il tuo indirizzo e-mail, la chiave Account / ACME e la chiave HMAC facendo clic sull'icona degli appunti () accanto a comando cli, sotto Certbot ACME. Questo comando preformattato ordinerà un certificato tramite il metodo di verifica HTTP-01.Copia il comando certbot

Richiedi manualmente un SSL /TLS Certificato

Ora che hai recuperato le tue credenziali, puoi richiedere un certificato tramite il certbot comando. Certbot supporta due metodi di convalida del dominio (DV): HTTP-01 e DNS-01.

Metodo di verifica HTTP-01

HTTP-01 è il metodo di sfida più comunemente usato con ACME e Certbot. Quando richiedi un certificato in questo modo, Certbot genererà un token che puoi utilizzare per creare un file accessibile pubblicamente sul tuo sito web. Il server ACME di SSL.com verificherà quindi il file tramite HTTP ed emetterà un certificato firmato se è corretto.

Requisiti: Il metodo HTTP-01 richiede che tu abbia accesso al tuo server web e che il sito sia disponibile sulla porta 80 tramite HTTP. Avrai anche bisogno di sudo privilegi sul computer.

Per recuperare manualmente un certificato, utilizzare il seguente comando. Sostituisci i valori TUTTO MAIUSCOLO con i tuoi valori effettivi. (Come notato sopra, puoi anche copiare e incollare un comando certbot che esegue questa operazione dal tuo account del portale):

sudo certbot certonly --manual --server https://acme.ssl.com/sslcom-dv-ecc --config-dir /etc/ssl-com --logs-dir /var/log/ssl-com -- accept-tos --no-eff-email --email INDIRIZZO-EMAIL --eab-hmac-key HMAC-KEY --eab-kid ACCOUNT-KEY -d DOMAIN.NAME

Abbattere il comando:

  • sudo certbot corre il certbot comando con privilegi di superutente.
  • certonly richiede di recuperare un certificato, ma non di installarlo.
  • --manual specifica di eseguire Certbot in modo interattivo.
  • --server https://acme.ssl.com/sslcom-dv-ecc specifica il server ACME di SSL.com.
  • --config-dir /etc/ssl-com (opzionale) imposta la directory di configurazione.
  • --logs-dir /var/log/ssl-com (opzionale) imposta la directory per i log.
  • --agree-tos (facoltativo) accetta il contratto di abbonamento ACME. Puoi ometterlo se vuoi essere d'accordo in modo interattivo.
  • --no-eff-email (facoltativo) indica che non desideri condividere il tuo indirizzo e-mail con l'EFF. Se lo ometti, ti verrà chiesto di condividere il tuo indirizzo email.
  • --email EMAIL-ADDRESS fornisce un indirizzo email di registrazione. Puoi specificare più indirizzi, separati da virgole.
  • --eab-hmac-key HMAC-KEY specifica la tua chiave HMAC.
  • --eab-kid ACCOUNT-KEY specifica la chiave dell'account.
  • -d DOMAIN.NAME specifica il nome di dominio coperto dal certificato. Nota che puoi usare il -d DOMAIN.NAME opzione più volte nel comando per aggiungere nomi di dominio al certificato. Certbot richiederà di creare un file challenge per ogni nome di dominio richiesto. Si prega di consultare la sezione su tipi di certificato e fatturazione di seguito per vedere come mappano le diverse combinazioni di nomi di dominio Tipi di certificato SSL.com e il prezzo corrispondente.
Nota: Per impostazione predefinita, Certbot 2.0.0 o versioni successive genera ECDSA per i nuovi certificati. Il comando precedente genererà una coppia di chiavi e un certificato ECDSA. Per utilizzare invece le chiavi RSA:

  • Cambiare il --server valore nel comando to https://acme.ssl.com/sslcom-dv-rsa
  • Aggiungi --key-type rsa al comando.
Quando esegui per la prima volta quanto sopra certbot comando, le informazioni sull'account ACME verranno memorizzate sul tuo computer nella directory di configurazione (/etc/ssl-com nel comando mostrato sopra. Nelle future esecuzioni di certbot, puoi omettere il --eab-hmac-key ed --eab-kid opzioni perché certbot le ignorerà a favore delle informazioni sull'account memorizzate localmente.

Se devi associare i tuoi ordini di certificati ACME per il computer con un account SSL.com diverso, dovresti rimuovere queste informazioni sull'account dal tuo computer con il comando sudo rm -r /etc/ssl-com/accounts/acme.ssl.com (o, se hai omesso l'opzionale --config-dir opzione, sudo rm -r /etc/letsencrypt/accounts/acme.ssl.com).

Quando esegui il comando precedente, dovresti ricevere le istruzioni per creare un file di convalida:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Crea un file contenente solo questi dati: cr1rsRTImVz_s7HHk7biTQ. 9mOlJPgZ8D97HojOHnhD6hYeZZOPDUDNMxchFUNJQvI E rendilo disponibile sul tuo server web a questo URL: http://DOMAIN.NAME/.well-known/acme-challenge/cr1rsRTImVz_s7HHk7biTQ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Premere Invio per continuare

Crea il file e salvalo in una posizione sul tuo server web dove è possibile accedervi tramite HTTP sulla porta 80 all'URL visualizzato, quindi premere Enter.

Nota: La verifica HTTP-01 potrebbe richiedere un nome file che inizi con un trattino (-) carattere. In questo caso potrebbe essere necessario specificare la directory durante la creazione del file per impedire alla shell di interpretare il trattino (es vim ./-r1rsRTImVz_s7HHk7biTQ).

Se tutte le tue informazioni sono corrette, dovresti ricevere un messaggio di conferma che mostra le posizioni della catena di certificati e della chiave privata:

NOTE IMPORTANTI: - Congratulazioni! Il certificato e la catena sono stati salvati in: /etc/ssl-com/live/DOMAIN.NAME/fullchain.pem Il file della chiave è stato salvato in: /etc/ssl-com/live/DOMAIN.NAME/privkey.pem Il tuo cert scadrà il 2021-10-05. Per ottenere una versione nuova o modificata di questo certificato in futuro, è sufficiente eseguire nuovamente certbot. Per rinnovare * tutti * i certificati in modo non interattivo, eseguire "certbot renew"

È ora possibile configurare il server Web per accedere al nuovo certificato e alla chiave privata.

Metodo di verifica DNS-01

I DNS-01 Il metodo challenge è più complicato da usare rispetto a HTTP-01, ma può essere più conveniente per l'uso su più server web. In questo metodo, Certbot fornirà un token da utilizzare per creare un record TXT DNS con il nome di dominio che il certificato proteggerà.

Requisiti: Il metodo DNS-01 richiede che tu abbia la possibilità di creare record DNS per il nome di dominio del tuo sito web.

Il seguente comando richiederà un certificato per DOMAIN.NAME tramite il metodo di verifica DNS-01:

sudo certbot certonly --manual --server https://acme.ssl.com/sslcom-dv-rsa --agree-tos --no-eff-email --email EMAIL-ADDRESS --eab-hmac-key HMAC-KEY --eab-kid ACCOUNT-KEY --preferred-challenges dns -d DOMAIN.NAME

Nota: È possibile utilizzare il -d DOMAIN.NAME opzione più volte nel comando per aggiungere nomi di dominio al certificato. Certbot richiederà di creare un record TXT DNS separato per ogni nome di dominio richiesto. Non è necessario attendere la propagazione di ciascun record TXT prima di premere Enter fino a raggiungere la sfida finale. Si prega di consultare la sezione su tipi di certificato e fatturazione di seguito per vedere come mappano le diverse combinazioni di nomi di dominio Tipi di certificato SSL.com e il prezzo corrispondente.
Quando esegui per la prima volta quanto sopra certbot comando, le informazioni sull'account ACME verranno memorizzate sul tuo computer nella directory di configurazione (/etc/ssl-com nel comando mostrato sopra. Nelle future esecuzioni di certbot, puoi omettere il --eab-hmac-key ed --eab-kid opzioni perché certbot le ignorerà a favore delle informazioni sull'account memorizzate localmente.

Se devi associare i tuoi ordini di certificati ACME per il computer con un account SSL.com diverso, dovresti rimuovere queste informazioni sull'account dal tuo computer con il comando sudo rm -r /etc/ssl-com/accounts/acme.ssl.com (o, se hai omesso l'opzionale --config-dir opzione, sudo rm -r /etc/letsencrypt/accounts/acme.ssl.com).

Questo comando è uguale a quello della sezione HTTP-01, ma aggiunge l'estensione --preferred-challenges dns opzione. Quando esegui il comando, riceverai le istruzioni per creare un record DNS:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please deploy a DNS TXT record under the name _acme-challenge.DOMAIN.NAME with the following value: -87YKoj3sQZB4rVCMZTiifl9QJKYm2eYYymAkpE0zBo Before continuing, verify the record is deployed. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Press Enter to Continue

Crea il record TXT DNS e attendi che si propaghi. (whatsmydns.net è uno strumento comodo per controllare la propagazione DNS). Notare che il carattere di sottolineatura (_) all'inizio del nome del record è necessario. Quando il record si è diffuso in tutto il mondo, premere Enter.

Se stai richiedendo un certificato con caratteri jolly (es *.example.com) dovrai richiedere il nome di dominio di base separatamente se desideri proteggerlo (ad esempio -d *.example.com -d example.com). In tal caso dovrai creare seconda Record TXT con lo stesso nome (_acme-challenge.example.com).

Se tutte le tue informazioni sono corrette, dovresti ricevere un messaggio di conferma che mostra le posizioni della catena di certificati e della chiave privata:

IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/ssl-com/live/DOMAIN.NAME/fullchain.pem Your key file has been saved at: /etc/ssl-com/live/DOMAIN.NAME/privkey.pem Your cert will expire on 2021-10-05. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run "certbot renew"

È ora possibile configurare il server Web per accedere al nuovo certificato e alla chiave privata.

Rinnovo del certificato (manuale)

Per i certificati emessi manualmente (come descritto in questa guida), il rinnovo del certificato viene eseguito semplicemente ripetendo il comando utilizzato per richiedere il certificato. Certbot fornisce un file renew sottocomando, ma produrrà un errore nel tentativo di utilizzarlo con i certificati richiesti con il --manual opzione:

sudo certbot renew --force-renewal Salvataggio del log di debug in /var/log/ssl-com/letsencrypt.log - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Elaborazione /etc/ssl-com/renewal/DOMAIN.NAME - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Impossibile scegliere il plug-in appropriato: il plug-in manuale non funziona; potrebbero esserci problemi con la configurazione esistente. L'errore era: PluginError ('Uno script di autenticazione deve essere fornito con --manual-auth-hook quando si utilizza il plugin manuale in modo non interattivo.',) Tentativo di rinnovo del certificato (DOMAIN.NAME) da / etc / ssl-com / il rinnovo / DOMAIN.NAME.conf ha prodotto un errore imprevisto: il plugin manuale non funziona; potrebbero esserci problemi con la configurazione esistente. L'errore era: PluginError ('Uno script di autenticazione deve essere fornito con --manual-auth-hook quando si usa il plugin manuale in modo non interattivo.',). Saltare. Tutti i tentativi di rinnovo sono falliti. I seguenti certificati non possono essere rinnovati: /etc/ssl-com/live/DOMAIN.NAME/fullchain.pem (fallimento) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Tutti i tentativi di rinnovo non sono riusciti. I seguenti certificati non possono essere rinnovati: /etc/ssl-com/live/DOMAIN.NAME/fullchain.pem (fallimento) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 rinnovo / i fallito / i, 0 analizza / i

Revoca del certificato

Revoca un certificato con certbot revoke. Sostituisci il percorso del certificato TUTTO MAIUSCOLO con i tuoi valori effettivi (ad esempio, /etc/ssl-com/live/example.com/cert.pem). Se non hai specificato un file custom --config-dir ed --logs-dir quando si richiede il certificato originale, omettere queste opzioni.

sudo certbot revoca --server https://acme.ssl.com/sslcom-dv-rsa --cert-path /PATH/TO/cert.pem --config-dir / etc / ssl-com --logs-dir / var / log / ssl-com

Ti verrà chiesto se desideri eliminare anche il certificato revocato:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Vuoi eliminare il certificato (i) hai appena revocato, insieme a tutte le versioni precedenti e successive del certificato? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y) es (consigliato) / (N ) o: Y - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Eliminati tutti i file relativi al certificato NOME DEL DOMINIO. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Nota: alcuni utenti potrebbero ricevere questo errore durante il tentativo di revocare un certificato utilizzando SSL.comL'endpoint ACME di:Unable to register an account with ACME server. Error returned by the ACME server: Something went wrong. We apologize for the inconvenience.

Prova quanto segue per risolvere l'errore:
a) Specificare il percorso della chiave privata del certificato per firmare la richiesta di revoca.
Esempio: --key-path /PATH/TO/privkey.pem
b) Se hai utilizzato una directory personalizzata, specifica la directory che hai utilizzato quando hai emesso il certificato: --config-dir

Tipi di certificato e fatturazione

Tutti SSL /TLS i certificati emessi tramite ACME da SSL.com sono certificati di un anno. Il tipo di certificato SSL.com che riceverai (e ti verrà addebitato) dipende dal numero e dal tipo di nomi di dominio richiesti:

  • SSL di base: Un nome di dominio o un nome di dominio più www sottodominio (es example.com ed www.example.com).
    • Nota che se desideri proteggere sia il nome di dominio di base che www, devi includerli entrambi nel tuo comando Certbot (es -d example.com -d www.example.com).
  • Wildcard SSL: Un nome di dominio con caratteri jolly o un nome di dominio con caratteri jolly più il nome di dominio di base (ad es *.example.com ed example.com).
  • SSL Premium: Nome di dominio di base e da uno a tre sottodomini non jolly. (Eccezione: come notato sopra, il dominio di base plus www il sottodominio [e nessun altro] verrà fatturato come SSL di base.) Ad esempio:
    • example.com ed info.example.com
    • example.comwww.example.come info.example.com
    • example.comwww.example.com, info.example.com e store.example.com
  • SSL UCC / SAN multi-dominio: Qualsiasi altra combinazione di nomi di dominio. Per esempio:
    • Nome di dominio di base e più di tre sottodomini
    • Due o più nomi di dominio con caratteri jolly e / o non di sottodominio

Partecipanti a SSL.com Programma per rivenditori e acquisti a volume verranno fatturati alla tariffa scontata associata al loro livello di prezzo.

Per maggiori informazioni

C'è molto di più che puoi fare con il protocollo ACME (con o senza Certbot). Fare riferimento alle seguenti risorse per maggiori informazioni:

Hai bisogno di ulteriore assistenza con il tuo account SSL.com?

Grazie per aver scelto SSL.com! In caso di domande, contattaci tramite e-mail all'indirizzo Support@SSL.com, chiama 1-877-SSL-SECUREoppure fai clic sul link della chat in basso a destra in questa pagina. Puoi anche trovare risposte a molte domande comuni di supporto nel nostro base di conoscenza.
Twitter
Facebook
LinkedIn
Reddit
E-mail

Rimani informato e sicuro

SSL.com è un leader globale nella sicurezza informatica, PKI e certificati digitali. Iscriviti per ricevere le ultime notizie del settore, suggerimenti e annunci di prodotti da SSL.com.

Ci piacerebbe il tuo feedback

Partecipa al nostro sondaggio e facci sapere cosa ne pensi del tuo recente acquisto.