In questa paginaObiettiviIl modulo consente di: | • | Configurare un servizio Web ASP.NET per richiedere l'utilizzo di SSL per tutte le comunicazioni client. | | • | Configurare un computer client affinché consideri attendibile l'autorità di certificazione (CA) che ha emesso il certificato SSL per il server Web. | | • | Chiamare un servizio Web ASP.NET in modo protetto utilizzando HTTPS. |
Ambito di applicazioneLe informazioni contenute in questo modulo sono valide per i seguenti prodotti e tecnologie: | • | Microsoft Windows® XP o Windows 2000 Server con Service Pack 3 e sistemi operativi successivi | | • | Microsoft Internet Information Services (IIS) 5.0 | | • | Microsoft .NET Framework versione 1.0 con Service Pack 2 e versioni successive | | • | Microsoft Visual C#® .NET |
Utilizzo del moduloPer trarre il massimo vantaggio dal modulo: | • | È necessario aver acquisito esperienza nell'utilizzo di Visual C# .NET e Microsoft Visual Studio® .NET. | | • | È necessario aver acquisito esperienza nello sviluppo di applicazioni Web mediante l'utilizzo di ASP.NET. | | • | È necessario aver acquisito esperienza nella configurazione di IIS. | | • | Leggere il modulo 4 "Comunicazione protetta", nel quale viene presentata un'introduzione a SSL e vengono descritte le situazioni di utilizzo più comuni. | | • | È necessario installare un certificato SSL in un server Web. Per informazioni dettagliate, leggere "Procedura - Installazione di SSL in un server Web". | | • | Il computer client deve già considerare attendibile la CA che ha emesso il certificato SSL per il server oppure è necessario poter accedere al certificato della CA così da poterlo rendere attendibile utilizzando il processo descritto in questo modulo. |
RiepilogoLe comunicazioni tra i servizi Web e le rispettive applicazioni client includono spesso informazioni riservate che trarrebbero vantaggio dalle funzionalità di integrità e riservatezza dei dati fornite dai protocolli SSL. In questo modulo viene descritto come configurare un servizio Web ASP.NET affinché richieda ai client di utilizzare SSL per tutte le comunicazioni; viene inoltre mostrato come chiamare il servizio Web da un'applicazione client ASP.NET mediante il protocollo HTTPS. Nota: le informazioni contenute in questa procedura si applicano anche gli oggetti remoti ospitati in ASP.NET e Microsoft® Internet Information Services (IIS), mediante l'utilizzo della tecnologia .NET Remoting. Per informazioni sulla creazione di un componente remoto ospitato in IIS, vedere "Procedura - Creazione di un componente remoto ospitato in IIS". Creazione di un semplice servizio WebIn questa procedura viene creato un semplice servizio Web per scopi di test. | • | Per creare un semplice servizio Web in un computer host di servizio Web 1. | Avviare Visual Studio .NET e creare una nuova applicazione di servizio Web ASP.NET in Visual C# denominata SecureMath. | 2. | Rinominare service1.asmx come math.asmx. | 3. | Aprire math.asmx.cs e rinominare la classe Service1 come math. | 4. | Aggiungere alla classe math il metodo Web indicato di seguito.
[WebMethod]
public long Add(long operand1, long operand2)
{
return (operand1 + operand2);
}
| 5. | Per creare il servizio Web, scegliere Genera soluzione dal menu Genera. |
|
Configurazione della directory virtuale del servizio Web per SSLIl servizio Web viene eseguito in Internet Information Services (IIS), sul quale si basa per fornire il supporto SSL. Per questa procedura viene presupposto che nel server Web sia installato un certificato server valido. Per ulteriori informazioni sull'installazione di certificati server Web, vedere "Procedura - Installazione di SSL in un server Web". | • | Per configurare la directory virtuale del Web per SSL mediante IIS 1. | Nel computer host del servizio Web avviare IIS. | 2. | Passare alla directory virtuale SecureMath. | 3. | Fare clic con il pulsante destro del mouse su SecureMath, quindi scegliere Proprietà. | 4. | Scegliere la scheda Protezione directory. | 5. | In Comunicazioni protette scegliere Modifica. Se l'opzione Modifica non è disponibile, è probabile che non sia stato installato un certificato server Web. | 6. | Selezionare la casella di controllo Richiedi un canale protetto (SSL). | 7. | Scegliere OK, quindi di nuovo OK. | 8. | Nella finestra di dialogo Proprietà ereditate ignorate scegliere Seleziona tutto, quindi OK per chiudere la finestra di dialogo delle proprietà SecureMath. In questo modo, le nuove impostazioni di protezione verranno applicate a tutte le sottodirectory della directory virtuale principale. |
|
Test del servizio Web mediante un browserQuesta procedura consente di verificare che il certificato server Web sia valido e che sia stato rilasciato da un'autorità di certificazione (CA) considerata attendibile dal computer client. | • | Per chiamare il servizio Web utilizzando SSL da Internet Explorer 1. | Avviare Internet Explorer nel computer client e digitare l'indirizzo del servizio Web utilizzando HTTPS. Ad esempio:
https://WebServer/securemath/math.asmx
Nel browser verrà visualizzata la pagina di prova del servizio Web. | 2. | Se tale pagina viene visualizzata correttamente, chiudere Internet Explorer e passare alla procedura "Sviluppo di un'applicazione Web per chiamare il componente servito". | 3. | Se viene visualizzata la finestra di dialogo Avviso di protezione, come illustrato nella figura 1, scegliere Visualizza certificato per controllare l'identità della CA emittente relativa al certificato server Web. È necessario installare il certificato della CA nel computer client come descritto nella procedura "Installazione del certificato dell'autorità di certificazione nel computer client". | 4. | Chiudere Internet Explorer. |
|
 Figura 1 Finestra di dialogo Avviso di protezione Installazione del certificato dell'autorità di certificazione nel computer clientQuesta procedura consente di installare il certificato della CA emittente nel computer client come autorità di certificazione proveniente da una fonte attendibile. Per accettare il certificato server senza visualizzare la finestra di dialogo Avviso di protezione, è necessario che il computer client consideri attendibile la CA emittente. | • | Se si utilizza Servizi certificati Microsoft come CA all'interno del dominio di Windows 1. | Eseguire questa operazione solo se il certificato server Web è stato rilasciato da una CA di Servizi certificati Microsoft. In caso contrario, se è disponibile il file con estensione CER della CA, saltare al passaggio 8. | 2. | Avviare Internet Explorer e digitare l'indirizzo http://nomehost/certsrv, dove nomehost è il nome del computer in cui si trova Servizi certificati Microsoft, che ha rilasciato il certificato server. | 3. | Scegliere Recuperare il certificato o l'elenco di revoche certificati, quindi Avanti. | 4. | Scegliere Installa il percorso certificati CA. | 5. | Nella finestra di dialogo Archivio principale dei certificati scegliere Sì. | 6. | Digitare l'indirizzo del servizio Web utilizzando HTTPS. Ad esempio:
https://WebServer/securemath/math.asmx
A questo punto, la pagina di prova del servizio Web viene visualizzata correttamente nel browser, senza la finestra di dialogo Avviso di protezione. Il certificato della CA risulta ora installato nell'archivio Autorità di certificazione fonti attendibili personale. Per chiamare correttamente il servizio Web da una pagina ASP.NET, è necessario aggiungere il certificato della CA nell'archivio Autorità di certificazione fonti attendibili del computer. | 7. | Ripetere i passaggi 1 e 2, scegliere Esegui download certificato CA, quindi salvare i dati in un file nel computer locale. | 8. | A questo punto, eseguire i passaggi rimanenti. Se è disponibile il file di certificato con estensione CER della CA | 9. | Nella barra delle applicazioni scegliere Start, quindi Esegui. | 10. | Digitare mmc, quindi scegliere OK. | 11. | Scegliere Aggiungi/Rimuovi snap-in dal menu Console. | 12. | Scegliere Aggiungi. | 13. | Selezionare Certificati, quindi scegliere Aggiungi. | 14. | Selezionare Account del computer, quindi scegliere Avanti. | 15. | Selezionare Computer locale: (il computer su cui è in esecuzione questa console), quindi scegliere Fine. | 16. | Scegliere Chiudi, quindi OK. | 17. | Nel riquadro sinistro dello snap-in MMC espandere Certificati (computer locale). | 18. | Espandere Autorità di certificazione fonti attendibili. | 19. | Fare clic con il pulsante destro del mouse su Certificati, scegliere Tutte le attività, quindi Importa. | 20. | Nella finestra di dialogo iniziale dell'Esportazione guidata certificati scegliere Avanti per proseguire. | 21. | Immettere il percorso e il nome file del file CER della CA. | 22. | Scegliere Avanti. | 23. | Selezionare l'opzione Mettere tutti i certificati nel seguente archivio, quindi scegliere Sfoglia. | 24. | Selezionare Mostra archivi fisici. | 25. | Espandere Autorità di certificazione fonti attendibili all'interno dell'elenco, quindi selezionare Computer locale. | 26. | Scegliere OK, quindi Avanti e Fine. | 27. | Scegliere OK per chiudere la finestra del messaggio di conferma. | 28. | Aggiornare la visualizzazione della cartella Certificati all'interno dello snap-in MMC e verificare che il certificato della CA sia elencato. | 29. | Chiudere lo snap-in MMC. |
|
Sviluppo di un'applicazione Web per chiamare il servizio WebQuesta procedura consente di creare una semplice applicazione Web ASP.NET, che verrà utilizzata come applicazione client per chiamare il servizio Web. | • | Per creare una semplice applicazione Web ASP.NET 1. | Nel computer client del servizio Web creare una nuova applicazione Web ASP.NET C# denominata SecureMathClient. | 2. | Aggiungere un riferimento Web al servizio Web utilizzando HTTPS. 1. | In Esplora soluzioni fare clic con il pulsante destro del mouse sul nodo Riferimenti, quindi scegliere Aggiungi riferimento Web. | 2. | Nella finestra di dialogo Aggiungi riferimento Web immettere l'URL del servizio Web. Accertarsi che venga utilizzato un URL HTTPS. Nota: se è stato già impostato un riferimento Web a un servizio Web senza utilizzare HTTPS, è possibile modificare manualmente il file della classe proxy generata e modificare la riga di codice che imposta la proprietà Url da un URL HTTP a un URL HTTPS. | 3. | Scegliere Aggiungi riferimento. |
| 3. | Aprire WebForm1.aspx.cs e aggiungere l'istruzione using riportata di seguito sotto le istruzioni using esistenti.
using SecureMathClient.WebReference1;
| 4. | Visualizzare WebForm1.aspx in modalità progettazione e creare un modulo analogo a quello illustrato nella figura 2 utilizzando i seguenti ID: | • | operando1 | | • | operando2 | | • | risultato | | • | somma |
 Figura 2 Modulo WebForm1.aspx | 5. | Fare doppio clic sul pulsante Aggiungi per creare un gestore eventi ButtonClick. | 6. | Aggiungere al gestore eventi il seguente codice:
private void add_Click(object sender, System.EventArgs e)
{
math mathService = new math();
int addResult = (int) mathService.Add( Int32.Parse(operand1.Text),
Int32.Parse(operand2.Text));
result.Text = addResult.ToString();
}
| 7. | Scegliere Genera soluzione dal menu Genera. | 8. | Eseguire l'applicazione. Immettere due numeri da sommare, quindi scegliere il pulsante Aggiungi. L'applicazione Web chiamerà il servizio Web mediante SSL. |
|
Altre risorse
| |