Esportare un certificato SSL da Apache a IIS

Creato il 09 settembre 2013 da Nightfly

Molti hosting provider (tra cui Godaddy) mettono a disposizione tutta una serie di servizi per i loro clienti, tra cui la possibilità di creare N domini, con relativo pannello di controllo per la gestione delle zone DNS, fornire i cosiddetti certificati SSL per HTTPS e così via.

Poichè Godaddy non è una CA vera e propria (Certification Authority), i suddetti certificati devono essere “garantiti” da una terza parte (che prende il nome di Intermediate CA, vedi qui per approfondire). Proprio per questa ragione, dopo aver inviato la richiesta per il certificato SSL (mediante il cosiddetto file *.csr, acronimo di Certificate Signature Request), l’hosting provider in questione ci consentirà di scaricare tre file:

1) il certificato SSL vero e proprio (ad esempio miodominio.crt);

2) il certificato SSL della intermediate CA (sf_bundle.crt);

3) la chiave privata RSA (file *.pem).

I suddetti file non possono essere utilizzati “as is” nel caso di IIS, ma devono essere opportunamente esportati in formato pkcs#12 (vedi pkcs per approfondire). Di seguito la procedura relativa all’export:

Per prima cosa concateno il certificato SSL per il mio dominio a quello della intermediate CA:

cat sf_bundle.crt miodominio.com.crt >> miodominio.com.all.crt

Successivamente, mediante openssl, esporto il suddetto certificato in formato pkcs#12 (con estensione *.pfx):

openssl pkcs12 -export -out miodominio.com.pfx -inkey miodominio.com.pem -in miodominio.com.all.crt -name ‘miodominio.com’

Infine, installo il suddetto file su IIS, facendo attenzione che il servizio sia in bind sulla porta 443 (HTTPS), ed il gioco è fatto.

Alla prossima.