Confronto dei client ACME e aiuto nella scelta del client per EAB ACME
Che cos'è il protocollo ACME e il client ACME
ACME (Ambiente di Gestione Automatica dei Certificati) è un protocollo che permette la distribuzione, il rinnovo e la gestione completamente automatizzata dei certificati SSL/TLS. Nella pratica elimina la necessità di generare manualmente richieste (CSR), di verificare il dominio e di installare i certificati. Ciò semplifica notevolmente l'intero processo e riduce il rischio di errori. ACME comunica direttamente con l'autorità di certificazione e, mediante sfide standardizzate (ad esempio HTTP-01 o DNS-01), verifica che il richiedente possieda effettivamente il dominio in questione. Grazie a ciò, i certificati possono essere ottenuti in pochi secondi e rinnovati automaticamente regolarmente prima della scadenza.
Il client ACME è uno strumento o software che implementa questo protocollo lato utente. Il suo compito è quello di comunicare con il server ACME (ad esempio un'autorità di certificazione), generare chiavi, risolvere le sfide di validazione e installare i certificati emessi sul server o nell'infrastruttura. Tra i client ACME noti ci sono Certbot, acme.sh o strumenti integrati nelle moderne piattaforme di hosting. Un client ACME correttamente configurato consente un'operatività completamente senza supervisione: i certificati vengono emessi e rinnovati automaticamente, che è una soluzione ideale per ambienti scalabili e gestione sicura dei servizi web.
Panoramica delle funzionalità dei client ACME
Tutti i client ACME elencati nella tabella sono in grado di verificare e emettere automaticamente un certificato utilizzando ACME, inclusa l'integrazione con DigiCert EAB. Questo è il prerequisito di base per l'utilizzo di un client ACME e se questo non fosse possibile, non avrebbe senso includerlo nel riepilogo.
| Cliente | Informazioni di base e complessità | Automazione del certificato | Parametri tecnici | Riepilogo | |||||
|---|---|---|---|---|---|---|---|---|---|
| Sistema operativo | Supporto EAB ACME | Metodo di installazione | Installazione sul server | Pianificazione del rinnovo | Supporto API DNS | Linguaggio | Testato | Adatto per | |
| Certbot | Linux, macOS | ✅ Sì | Pacchetto di sistema (apt / snap) | ✅ Completo (Apache, Nginx) | ✅ Automatico (timer systemd) | 50+ (plugin) ⚡ | Python | SÌ | Consigliato, server web Linux (Apache / Nginx) |
| win-acme | Windows Server | ✅ Sì | Guida di installazione (.exe) | ✅ Completo (IIS) | ✅ Automatico (Task Scheduler) | 30+ ⚡ | C# (.NET) | SÌ | Windows Server / IIS |
| Certify The Web | Windows | ✅ Sì | Installatore (.msi) | ✅ Completo (IIS, Exchange, SQL, API) | ✅ Automatico (servizio proprio) | 100+ (compresi script locali) | C# (.NET) | SÌ | Principianti su Windows, ha GUI e post-processing |
| SimpleACME (WACS) | Windows Server | ✅ SÌ | Zip / Binario .exe | ✅ Completo (IIS, RDS, Exchange) | ✅ Automatico (Task Scheduler) | 40+ (inc. Plugin Posh-ACME) ⚡ | C# (.NET) | SÌ | Sostituto di win-acme per Windows/IIS |
| Cert-manager | Kubernetes (Linux) | ✅ Sì | Helm chart / Manifesti | ✅ Completo (Ingress / Gateway API) | ✅ Automatico (Controller loop) | 60+ (nativamente + plugin) | Go | NO | Ambienti Kubernetes e Cloud-native |
| acme.sh | Linux, macOS, Unix | ✅ Sì | Script di installazione (curl) | ⚙️ Parziale (deploy hook) | ✅ Automatico (cron) | 150+ (nativamente) ⚡ | Shell (Bash) | SÌ | Consigliato, ideale per l'automazione del DNS e DevOps |
| Lego | Linux, macOS, Windows | ✅ Sì | Download file binario | ⚙️ Parziale (deploy hook) | ⚙️ Necessario impostare scheduler esterno | 180+ (nativamente) ⚡ | Go | SÌ | Cloud, Docker, CI/CD |
| Posh-ACME | Windows, Linux (PS Core) | ✅ Sì | PowerShell Gallery | ⚙️ Parziale (script) | ✅ Automatico (Task Scheduler) | 100+ | PowerShell | Automatizzazione Windows e scripting | |
| dc-acme | Linux, Windows | ✅ Sì | Script di installazione (curl / PS) | ⚙️ Parziale (Filesystem / Handler personalizzati) | ✅ Automatico (servizio di sistema) | UltraDNS, Cloudflare, Route53, Azure | Java / TOML | Ambienti enterprise (DigiCert MPKI / ONE) | |
✅ Completamente automatico – tutto avviene automaticamente senza intervento dell'utente.
⚙️ Parzialmente automatico – richiede configurazione manuale o script.
⚡ Puoi utilizzare il plugin DNS per CZECHIA.COM/RegZone; sia nel progetto che separatamente su Github.
Come scegliere il client ACME giusto
La scelta del client ACME dipende dagli obiettivi che si hanno. Si potrebbe voler solamente emettere un certificato e lavorarci manualmente o mediante script, oppure si desidera impostare un'automazione completa del ciclo di vita del certificato su un server web e non preoccuparsene più. Questi sono i criteri importanti per fare una scelta.
L'automazione dell'intero ciclo di vita del certificato si compone di diverse parti che un client ACME deve essere in grado di risolvere:
- Comunicazione con la CA - per i certificati OV ed EV è necessaria la compatibilità EAB ACME lato client. Non tutti i client supportano EAB; ad esempio, l'implementazione nativa di ACME in nginx non lo fa.
- Verifica automatica del dominio - per ogni emissione di certificato, il dominio deve essere verificato (DCV), oppure il dominio deve essere pre-verificato. Senza verifica automatica del dominio non sarà possibile emettere certificati in futuro.
- HTTP-01: Viene esposto un file di verifica sul server e la CA lo verifica, si utilizza la porta 80.
- DNS-01: Si imposta un record di verifica nella zona DNS del dominio. Per modificare il record DNS è necessario avere un plugin per l'API del provider DNS (Cloudflare, CZECHIA.COM).
- Emissione del certificato - I certificati DV vengono rilasciati immediatamente, per OV ed EV l'organizzazione deve essere verificata, che si risolve pre-verificando. Il certificato emesso viene memorizzato localmente dal client ACME sul disco dove già dispone della chiave privata. Con il certificato è possibile lavorare ulteriormente mediante script (deploy-hook).
- Installazione/Configurazione del certificato sul server - impostazione (installazione) del certificato per il servizio corretto sul server web. Ciò richiede manipolazioni e adattamenti dei file di configurazione + riavvio del servizio. L'installazione è possibile tipicamente solo sui server web Apache, nginx e IIS.
Non tutti i client ACME soddisfano tutti i requisiti. Ecco perché abbiamo creato una tabella riassuntiva per facilitare la scelta.
Cosa fare se il client ACME non supporta il mio server
È tipico per i client ACME avere la capacità di impostare il certificato emesso sui server web più diffusi - Apache, nginx e IIS. Di solito le loro capacità si fermano qui. Se hai bisogno di automatizzare i certificati su un server non supportato dai client ACME, devi dividere l'automazione nella fase di emissione e installazione del certificato.
L'emissione può essere sempre automatizzata con acme.sh e DNS; puoi ottenere il certificato su qualsiasi macchina e non devi eseguire ACME direttamente sul server, come richiede HTTP-01. Successivamente, il certificato emesso deve essere trasferito al server di destinazione e lì installato, che deve essere scriptato individualmente in base il tipo specifico di server web.
Consigliati con il nostro supporto
Se questo articolo non ha risposto a tutte le tue domande, non esitare a contattare il nostro supporto SSLmarket. Esperti umani sono a tua disposizione ogni giorno.