Gli sviluppatori e gli amministratori IT hanno senza dubbio la necessità di distribuire alcuni siti Web tramite HTTPS utilizzando un certificato SSL. Sebbene questo processo sia piuttosto semplice per un sito di produzione, ai fini dello sviluppo e del test potresti trovare la necessità di utilizzare anche un certificato SSL qui.
In alternativa all'acquisto e al rinnovo di un certificato annuale, puoi sfruttare la capacità di Windows Server di generare un certificato autofirmato che è comodo, facile e dovrebbe soddisfare perfettamente questi tipi di esigenze.
Creazione di un certificato autofirmato su IIS
Sebbene esistano diversi modi per eseguire l'attività di creazione di un certificato autofirmato, utilizzeremo l'utilità SelfSSL di Microsoft. Sfortunatamente, questo non viene fornito con IIS ma è disponibile gratuitamente come parte di IIS 6.0 Resource Toolkit (collegamento fornito in fondo a questo articolo). Nonostante il nome "IIS 6.0", questa utility funziona perfettamente in IIS 7.
Tutto ciò che è necessario è estrarre IIS6RT per ottenere l'utilità selfssl.exe. Da qui puoi copiarlo nella directory di Windows o in un percorso di rete / unità USB per un utilizzo futuro su un'altra macchina (quindi non devi scaricare ed estrarre IIS6RT completo).
Dopo aver installato l'utilità SelfSSL, eseguire il comando seguente (come amministratore) sostituendo i valori in <> come appropriato:
selfssl / N: CN = <tuo.dominio.com> / V: <numero di giorni validi>
L'esempio seguente produce un certificato con caratteri jolly autofirmato contro "miodominio.com" e lo imposta come valido per 9.999 giorni. Inoltre, rispondendo sì alla richiesta, questo certificato viene automaticamente configurato per il collegamento alla porta 443 all'interno del sito Web predefinito di IIS.
Mentre a questo punto il certificato è pronto per l'uso, viene archiviato solo nell'archivio certificati personali sul server. È consigliabile avere anche questo certificato impostato nella radice attendibile.
Vai su Start> Esegui (o tasto Windows + R) e inserisci "mmc". Potresti ricevere un prompt UAC, accettarlo e si aprirà una console di gestione vuota.
Nella console, vai su File> Aggiungi / Rimuovi snap-in.
Aggiungi certificati dal lato sinistro.
Seleziona Account del computer.
Seleziona Computer locale.
Fare clic su OK per visualizzare l'archivio certificati locali.
Passa a Personale> Certificati e individua il certificato che hai configurato utilizzando l'utilità SelfSSL. Fare clic con il pulsante destro del mouse sul certificato e selezionare Copia.
Accedi ad Autorità di certificazione radice attendibili> Certificati. Fare clic con il tasto destro sulla cartella Certificati e selezionare Incolla.
Nell'elenco dovrebbe apparire una voce per il certificato SSL.
A questo punto, il tuo server non dovrebbe avere problemi a lavorare con il certificato autofirmato.
Esportazione del certificato
Se stai per accedere a un sito che utilizza il certificato SSL autofirmato su qualsiasi macchina client (cioè qualsiasi computer che non è il server), al fine di evitare un potenziale attacco di errori del certificato e avvisi, il certificato autofirmato dovrebbe essere installato su ciascuna delle macchine client (di cui parleremo in dettaglio di seguito). Per fare ciò, dobbiamo prima esportare il rispettivo certificato in modo che possa essere installato sui client.
All'interno della console con la gestione dei certificati caricata, accedere a Autorità di certificazione radice attendibili> Certificati. Individua il certificato, fai clic con il pulsante destro del mouse e seleziona Tutte le attività> Esporta.
Quando viene richiesto di esportare la chiave privata, selezionare Sì. Fare clic su Avanti.
Lascia le selezioni predefinite per il formato file e fai clic su Avanti.
Inserisci una password. Questo verrà utilizzato per proteggere il certificato e gli utenti non saranno in grado di importarlo localmente senza inserire questa password.
Immettere una posizione per esportare il file del certificato. Sarà in formato PFX.
Conferma le impostazioni e fai clic su Fine.
Il file PFX risultante è ciò che verrà installato sui computer client per indicare loro che il certificato autofirmato proviene da una fonte attendibile.
Distribuzione su computer client
Dopo aver creato il certificato sul lato server e aver fatto funzionare tutto, potresti notare che quando una macchina client si connette al rispettivo URL, viene visualizzato un avviso di certificato. Ciò accade perché l'autorità di certificazione (il tuo server) non è una fonte attendibile per i certificati SSL sul client.
Puoi fare clic sugli avvisi e accedere al sito, tuttavia potresti ricevere avvisi ripetuti sotto forma di una barra dell'URL evidenziata o ripetuti avvisi di certificati. Per evitare questo fastidio, è sufficiente installare il certificato di sicurezza SSL personalizzato sulla macchina client.
A seconda del browser utilizzato, questo processo può variare. IE e Chrome leggono entrambi dall'archivio certificati di Windows, tuttavia Firefox ha un metodo personalizzato per la gestione dei certificati di sicurezza.
Nota importante: Dovresti mai installare un certificato di sicurezza da una fonte sconosciuta. In pratica, dovresti installare un certificato localmente solo se lo hai generato. Nessun sito Web legittimo richiederebbe di eseguire questi passaggi.
Internet Explorer e Google Chrome - Installazione del certificato in locale
Nota: anche se Firefox non utilizza l'archivio certificati nativo di Windows, questo è comunque un passaggio consigliato.
Copiare il certificato esportato dal server (il file PFX) sulla macchina client o assicurarsi che sia disponibile in un percorso di rete.
Aprire la gestione dell'archivio certificati locale sulla macchina client utilizzando esattamente gli stessi passaggi di cui sopra. Alla fine finirai su una schermata come quella qui sotto.
Sul lato sinistro, espandere Certificati> Autorità di certificazione radice attendibili. Fare clic con il tasto destro sulla cartella Certificati e selezionare Tutte le attività> Importa.
Seleziona il certificato che è stato copiato localmente sulla tua macchina.
Immettere la password di sicurezza assegnata quando il certificato è stato esportato dal server.
Il negozio "Autorità di certificazione radice attendibili" dovrebbe essere precompilato come destinazione. Fare clic su Avanti.
Rivedi le impostazioni e fai clic su Fine.
Dovresti vedere un messaggio di successo.
Aggiorna la visualizzazione della cartella Autorità di certificazione radice attendibili> Certificati e dovresti vedere il certificato autofirmato del server elencato nell'archivio.
Una volta fatto, dovresti essere in grado di accedere a un sito HTTPS che utilizza questi certificati e non ricevere avvisi o richieste.
Firefox - Consenti eccezioni
Firefox gestisce questo processo in modo leggermente diverso poiché non legge le informazioni sui certificati dall'archivio di Windows. Piuttosto che installare i certificati (di per sé), consente di definire eccezioni per i certificati SSL su siti particolari.
Quando visiti un sito che presenta un errore di certificato, riceverai un avviso come quello di seguito. L'area in blu nominerà il rispettivo URL a cui stai tentando di accedere. Per creare un'eccezione per ignorare questo avviso sul rispettivo URL, fare clic sul pulsante Aggiungi eccezione.
Nella finestra di dialogo Aggiungi eccezione di sicurezza, fare clic su Conferma eccezione di sicurezza per configurare localmente questa eccezione.
Tieni presente che se un determinato sito reindirizza a sottodomini dall'interno di se stesso, potresti ricevere più richieste di avviso di sicurezza (con l'URL leggermente diverso ogni volta). Aggiungi eccezioni per questi URL utilizzando gli stessi passaggi di cui sopra.
Conclusione
Vale la pena ripetere l'avviso sopra che dovresti mai installare un certificato di sicurezza da una fonte sconosciuta. In pratica, dovresti installare un certificato localmente solo se lo hai generato. Nessun sito Web legittimo richiederebbe di eseguire questi passaggi.
Collegamenti
Scarica IIS 6.0 Resource Toolkit (include l'utilità SelfSSL) da Microsoft