Vai al contenuto

win-acme con IIS

Il client ACME più usato su Windows: ottiene il certificato, lo associa al sito in IIS e lo rinnova da solo.

In arrivo. Il servizio ACME di SSLCenter non è ancora disponibile: questa guida anticipa come funzionerà. L'indirizzo del server ACME e le credenziali arriveranno con l'attivazione.

win-acme è un client ACME gratuito per Windows. Legge i siti configurati in IIS, ottiene il certificato, aggiorna il binding HTTPS e crea un'attività pianificata per il rinnovo.

Cosa serve

  • Windows Server con IIS e un sito con i nomi da proteggere nei binding, e un account amministratore.
  • Le credenziali del servizio: l'indirizzo del server ACME e la coppia di chiavi EAB (un identificativo e una chiave).
  • Le verifiche completate: quella dell'organizzazione, per i certificati OV ed EV, e quella dei domini, nei modi che ti indichiamo all'attivazione (perché). Prima, win-acme riceve solo errori: non è un problema, ma conviene configurarlo a verifiche concluse.

Negli esempi <server ACME>, <identificativo> e <chiave> stanno per i valori delle tue credenziali.

1. Installa win-acme

Scarica la versione x64 pluggable da win-acme.com ed estrai lo zip in una cartella stabile, ad esempio C:\Program Files\win-acme: il rinnovo verrà eseguito da lì, quindi non spostarla in seguito.

2. Ottieni il primo certificato

Apri un prompt dei comandi come amministratore nella cartella di win-acme e avvia il client indicando il nostro server ACME e le credenziali EAB:

wacs.exe --baseuri <server ACME> --eab-key-identifier <identificativo> --eab-key <chiave>

Nel menu:

  1. Scegli N (Create certificate, default settings).
  2. Scegli il sito IIS e, se richiesto, i nomi da includere. Includi solo domini compresi nel servizio: per gli altri la richiesta viene rifiutata.
  3. Indica un indirizzo email per gli avvisi e accetta le condizioni.

win-acme ottiene il certificato, lo salva nell'archivio certificati di Windows, crea o aggiorna il binding HTTPS del sito e pianifica il rinnovo. L'indirizzo del server resta memorizzato nella configurazione del rinnovo.

Lo stesso in un solo comando, utile per più server o per uno script:

wacs.exe --baseuri <server ACME> --eab-key-identifier <identificativo> --eab-key <chiave> ^
  --source iis --siteid 1 --installation iis ^
  --emailaddress tu@tuodominio.it --accepttos

dove --siteid è l'ID del sito in Gestione IIS.

3. Il rinnovo

win-acme crea un'attività pianificata, win-acme renew, che ogni giorno controlla i certificati e li rinnova con anticipo, aggiornando il binding. Per vedere i rinnovi pianificati e le date, avvia wacs.exe e scegli A (Manage renewals); per verificare l'attività, apri l'Utilità di pianificazione.

La verifica dei domini

Quando win-acme chiede un certificato, la Certification Authority controlla se ogni dominio ha già una verifica valida (come funziona). Se non ce l'ha, propone una prova automatica:

  • HTTP-01: win-acme la completa da solo, tramite IIS, se il sito è raggiungibile da Internet sulla porta 80. Per un sito pubblico, con la configurazione di questa guida, non serve altro.
  • DNS-01: serve un plugin per il provider DNS, vedi sotto.

Se nessuna prova riesce, la richiesta fallisce e win-acme riprova nei giorni seguenti: il certificato in uso resta valido fino alla sua scadenza. Come si verificheranno i domini con il nostro servizio, e se una verifica fatta prima potrà evitare le prove, lo confermeremo all'avvio.

Per i wildcard e i server interni: DNS-01

HTTP-01 non vale per i wildcard né per server non raggiungibili da Internet. Per questi casi win-acme ha plugin per i provider DNS più diffusi, che creano da soli il record di verifica: si scaricano dal sito di win-acme e si scelgono, nel menu, con M (Create certificate, full options), alla voce sulla validazione. Se il tuo provider DNS non ha un plugin, valuta la delega con CNAME.

Se qualcosa non va

ProblemaCosa significa
Errore sull'external accountMancano le credenziali EAB, o il server ACME non è quello giusto
unauthorized per un dominioIl dominio non ha una verifica valida e la prova HTTP-01 non è riuscita: controlla porta 80 e DNS
Richiesta rifiutata per l'organizzazioneLa verifica dell'organizzazione (OV, EV) non è completa o è scaduta
rejectedIdentifierIl dominio non è compreso nel servizio
Il rinnovo non parteL'attività pianificata è disattivata, o la cartella di win-acme è stata spostata

I log sono in %ProgramData%\win-acme, nella cartella del server ACME; gli errori anche nel Visualizzatore eventi. Per tenere d'occhio i rinnovi: monitorare i rinnovi automatici.

Non sai quale certificato scegliere?

Raccontaci cosa devi proteggere, ti consigliamo il certificato giusto e ti prepariamo un preventivo.