Impostare una connessione https

Impostare una connessione https

Https è un protocollo di comunicazione basato su HTTP che consente di effettuare una connessione crittografata e sicura fra l’utente e il server che ospita il website. Per maggior dettagli consultare qui

Su IIS per abilitare la connessione Https su un sito occorre effettuare il binding fra il website e la porta (di default 443) assegnando il certificato ssl relativo. Tale certificato può essere rilasciato da una CA oppure generato internamente per test: questa scelta non incide sulla sicurezza o no dei dati in quanto anche usando un certificato di test i dati sono trasmessi in modo sicura; utilizzando tale certificato però l’utente è avvisato dal browser al momento dell’accesso al sito della non attendibilità del certificato e invita ad allontanarsi dal sito per non cadere in trappole di phishing e furto di dati sensibili.
Utilizzando un certificato SSL rilasciato da una CA invece tale rischio non si presenta. Per poter generare un certificato di test su IIS c’è un apposita procedura accessibile dal menu Certificates su IIS.

Per poter effettuare il binding occorre che il certificato sia installato su IIS. Per far questo ci sono due possibilità:
1) Effettuare tutto il ciclo di richiesta del certificato e importazione
Per far questo tramite l’apposito pulsante si crea un certificato di richiesta (inserendo gli estremi del dominio e della proporietà del sito). Tale richiesta viene inviata alla CA che previa verifica (e pagamento) risponde con un certificato di rispota (un file .txt solitamente), un certificato (.crt,.pfx) e relativa private key (.key di solito). La procedura si completa inserendo il file di risposta e relativo certificato.
2) Fare una richieta per una certificato wildchar (es *.dominio.com) da utilizzare per i domini di 3° livello. In questo caso non si ottiene una rispota ma solo il certificato e la private key.

IIS accetta solo certificati in formato .pfx quindi se si dispone di un certificato .cer o .crt occorre effettuare la conversione.
Si può procedere in 2 modi:
– si installa il certificato tramite certmgr oppure IE e poi si effettua l’esportazione. Questo è possibile solo se il certificato è generato con l’opzione esportabile.
– si utilizza un tool di conversione come ad es. openssl che nasce su Linux ma esiste il porting su Windows. In tal caso la procedura è la seguente:
a) si trasforma il .crt in .der tramite il comando
openssl x509 -in mycert.crt -out mycert.der -outform DER
b) si genera il certificato .pem
openssl x509 -in mycert.der -inform DER -out mycert.pem -outform PEM
c) si genera il file .pfx utilizzando la chiave privata
openssl pkcs12 -export -passout pass:”<tuapassword>” -in mycert.pem -inkey mycert.key -out mycert.p12 -name “<tuodominio>”

(per maggiori informazioni vedere qui,qui o qui)

ATTENZIONE!
a volte il file .crt sembra non formattato correttamente per openssl. C’è un comando apposito per verificare il file .crt. In questi casi cmq il modo più veloce è installarlo nei certificati ed esportarlo in Base64 (.cer) file. Il .cer e il .crt sono in realtà spesso la stessa cosa ovvero file di testo che contengono il certificato o la chiave in formato base64.

No Comments

Sorry, the comment form is closed at this time.