I 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.
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 e DNS-01 metodi di sfida.
- Revoca i certificati con Certbot.
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 tuoPATH
, 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 e Chiave HMAC dal tuo account SSL.com.
- Accedi al tuo account SSL.com. Se hai già effettuato l'accesso, vai al Dashboard scheda.
- Clicchi credenziali API, che si trova sotto sviluppatori e integrazione.
- Avrai bisogno del tuo Account / chiave ACME e Chiave HMAC per richiedere certificati. Fare clic sull'icona degli appunti () accanto a ciascuna chiave per copiare il valore negli appunti.
- 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.
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 ilcertbot
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.
- Cambiare il
--server
valore nel comando tohttps://acme.ssl.com/sslcom-dv-rsa
. - Aggiungi
--key-type rsa
al comando.
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
e --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
.
-
) 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
La 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
-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. 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
e --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
.
*.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
e --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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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 (esexample.com
ewww.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
).
- Nota che se desideri proteggere sia il nome di dominio di base che
- 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
eexample.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
einfo.example.com
example.com
,www.example.com
einfo.example.com
example.com
,www.example.com
,info.example.com
estore.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:
- Cos'è il protocollo ACME?
- ACME SSL /TLS Automazione con Apache e Nginx
- SSL /TLS Automazione per l'IoT con ACME
- Documentazione di Certbot
- Pagina man di Certbot
Hai bisogno di ulteriore assistenza con il tuo account SSL.com?
- Il tuo account SSL.com - Invio di un file CSR
- Pre-test fallito ?!
- Il tuo account SSL.com - Validazioni
- Il tuo account SSL.com - Ordini
- API SWS di SSL.com - Introduzione
- Il tuo account SSL.com - Domini
- HSM cloud supportati per la firma dei documenti e la firma del codice EV