[howto iis] Certificato OpenSSL autofirmato compatibile con Chrome/Edge
Generando un certificato SSL autofirmato da IIS, questo non viene riconosciuto come attendibile da Chrome/Edge nonostante venga inserito all’interno dell’Autorità di Certificazione Radice Attendibile dell’archivio certificati di Windows. La causa è la mancata compilazione della sezione SAN del certificato (viene compilato solamente il COMMON NAME). Per ovviare, è possibile generare un certificato autofirmato con openssl e quindi caricarlo su IIS.
Per generare un certificato autofirmato eseguire il seguente comando:
openssl req -newkey rsa:2048 -x509 -nodes -keyout out.key -new -out out.crt -subj /CN=server-name.domain.local -reqexts SAN -extensions SAN -config <(cat /etc/ssl/openssl.cnf <(printf '[SAN]\nsubjectAltName=DNS:server-name,DNS:server-name.domain.local')) -sha256 -days 3650
Il comando genera un certificato così compilato:
- CN: server-name.domain.local
- SAN: server-name, server-name.domain.local
- Durata: 10 anni
e crea il file out.crt (il certificato) e out.key (la chiave di firma).
Il certificato così creato, per essere importato in IIS, va convertito nel formato PXF. Per farlo, è possibile usare il comando openssl in questo modo:
openssl pkcs12 -export -out out.pfx -inkey out.key -in out.crt
A questo punto, il file out.pfx potrà essere importato in IIS e poi assegnato ad uno o più siti su Binding. Lo stesso certificato può essere installato sull’archivio locale certificati autorità di certificazione radice attendibile dei client (manualmente o tramite GPO) per rendere il sito sicuro.