Quando vedevo apparire le scritte https ed SSL, tanto tempo fa dicevo oooooooohhhhhhhhhhhh magia!!!!
Nei post relativi ad altri esami (70-315 e 70-320) abbiamo già parlato di cosa sia, in generale, l'autenticazione e l'autorizzazione, per le nostre applicazioni web abbiamo anche il problema di assicurare che le informazioni in viaggio su Internet siano al riparo da occhi indiscreti, soprattutto se sono i codici della nostra carta di credito.
Il tutto si basa nell'invio, ricezione e controllo di encryption key per la sessione dell'utente. Ok, vorremmo che anche il nostro "sito" sia SSL-protetto, e come facciamo?
E' inutile che cerchiamo in VS.NET, come ben sappiamo bisogna ottenere un certificato da un'autorità apposita. Ve ne sono diverse, una tra le tante è http://www.verisign.com , fornisce dei trial free per il testing e valutazione della durata di 14 giorni, comunque è anche vero che alcuni hosting offrono la possibilità d'acquistare il servizio già bello e pronto, ma noi vogliamo fare tutto da soli altrimenti non c'è sfizio :D
Vediamo come e quando entra in gioco IIS, i passi da seguire sono:
- generiamo la richiesta del certificato da IIS
- richiediamo il certificato a verisign o simili
- ottenuto il certificato installiamolo sul server usando IIS
- se usiamo un certificato per i test lo istalliamo nel browser
- utilizziamo il protocollo https (hypertext transfer protocol secure) per l'accesso alle pagine protette
Dunque procediamo con ordine:
Generiamo la richiesta: selezioniamo la root Default Web Site e dallo snap-in di IIS scegliamo dal menù Action e poi Properties, dunque la scheda Directory Security e facciamo click su Server Certificate, a questo punto parte un comodo Web Server Certificate Wizard, sempre click su next ed alla fine viene generato un file di testo con estensione .cer. Questo è il file da spedire a verisign e simili, per posta eletronica e secondo le modalità richieste dalla specifica autorità.
Installiamolo: dopo un pò riceviamo una mail con nel corpo del messaggio il nostro certificato, copiamo il tutto in Notepad e mettiamoci l'estensione .cer. Riavviamo il Web Server Certificate Wizard, come detto sopra, e questa volta troveremo il Pending della nostra richiesta seguiamo le istruzioni del Wizard ed inseriamo la path del file inviatoci da Verising.
Ed ora specifichiamo che la pagina è sicura con
<a href="https://www.ugidotnet.it/member.aspx"> Pagina Protetta </a>
ed apparirà il nostro bel lucchettino....
Attenzione per uscire dall'area protetta non basta scrivere
<a href="defmember.aspx"> Sei uscito dall'area protetta </a>
ma occorre specificarlo con
<a href="http://www.ugidotnet.it/defmember.aspx"> Area non protetta </a>
Ovvimente poichè vogliamo che il nostro sito sia visitatissimo la nostra home è preferibile che essa non utilizzi il protocollo https, ma predisporremo delle specifiche aree, selezionandone il relativo folder da IIS, scegliendo Action -> Properties dunque Directory Security e dunque Edit, si apre la dialog Secure Communication e selezioniamo Require Secure Channel (SSL)
Se volete approfondire l'argomento su SSL, tanto per citare Verising mette a disposizione delle guide a questo indirizzo
http://www.trustitalia.it/decode.php?id=mDPxzn002362&PHPSESSID=65170fef2a0dacc75f9dddb8ae20fdfb
E ora vado a fare qualche test....
N.b. grazie al suggerimento di Lorenzo aggiungo
"per win2000 server o win2003 server hai anche la possibilità di installare i Certificate Services che generano certificati"
powered by IMHO 1.3