Questa guida mostra come installare un certificato SSL personalizzato (con CA interna) su Windows IIS e Apache, rendendolo funzionante con lucchetto verde nei browser. Tutti i domini sono anonimizzati.
Prerequisiti
- File ricevuti:
dominio.esempio.it.crt(leaf + intermediate CA),dominio.esempio.it.key(chiave privata) - Accesso amministratore al server Windows
- OpenSSL installato su Windows
1. Creare PFX per IIS (Windows)
Genera il bundle PFX completo:
bashopenssl pkcs12 -export -out certificato_completo.pfx -inkey dominio.esempio.it.key -in dominio.esempio.it.crt -certfile dominio.esempio.it.crt
Inserisci una password quando richiesto.
Importa in Windows Certificate Store:
- Doppio-clic su
certificato_completo.pfx - Installa Certificato → Computer locale → Personale → Fine
- Verifica:
certlm.msc→ Personale → Certificato con ✅ icona chiave
Configura IIS:
Win+R→inetmgr- Server → Certificati server → Certificato visibile
- Sito web → Binding → Aggiungi → https (porta 443) → Seleziona certificato
iisreset
Test: https://dominio.esempio.it → 🔒 Lucchetto verde
2. Configura Apache (porta 444)
Copia i file nella cartella Apache:
textC:\percorso\apache\conf\ssl\
├── dominio.esempio.it.crt (leaf + intermediate)
└── dominio.esempio.it.key (chiave privata)
Modifica httpd-ssl.conf (o file VirtualHost):
textListen 444
SSLCertificateFile "C:/percorso/apache/conf/ssl/dominio.esempio.it.crt"
SSLCertificateKeyFile "C:/percorso/apache/conf/ssl/dominio.esempio.it.key"
<VirtualHost *:444>
SSLEngine on
SSLProtocol -All +TLSv1.2 +TLSv1.3
SSLHonorCipherOrder on
SSLCipherSuite HIGH:!aNULL:!MD5:!RC4:!3DES
</VirtualHost>
Riavvia Apache:
bashnet stop "Apache Service"
net start "Apache Service"
Test: https://dominio.esempio.it:444 → 🔒 Lucchetto verde
Risoluzione Problemi Comuni
| Errore | Soluzione |
|---|---|
| “No cert matches private key” | Verifica fingerprint: openssl x509 -noout -fingerprint -in dominio.esempio.it.crt |
| “Certificate missing” | Usa -certfile nel PFX per includere intermediate CA |
| “Non valido sui client” | PFX deve contenere leaf + intermediate |
| Import PFX fallisce | certutil -f -p PASSWORD -importpfx "Computer" certificato_completo.pfx[seahawkmedia] |
Verifica Finale
textopenssl pkcs12 -info certificato_completo.pfx
Output atteso: “2 certificates inside” (leaf + intermediate)
Browser: F12 → Security → Certificate Path completa fino alla Root CA.
Nota: Sostituisci dominio.esempio.it con il tuo dominio reale. Il file .crt con 2 blocchi (BEGIN CERTIFICATE) contiene già la catena completa necessaria.

