Esempi di livello canale di sicurezza
Gli esempi seguenti illustrano la sicurezza nel livello del canale
Sicurezza del trasporto di Windows su TCP: Client: RequestReplyTcpClientWithWindowsTransportSecurityExample, Server: RequestReplyTcpServerWithWindowsTransportSecurityExample.
Sicurezza del trasporto windows tramite named pipe: client: RequestReplyNamedPipesClientWithWindowsTransportSecurityExample, Server: RequestReplyNamedPipesServerWithWindowsTransportSecurityExample.
Sicurezza del trasporto SSL: Client: HttpClientWithSslExample, Server: HttpServerWithSslExample.
Sicurezza con nome utente su ssl in modalità mista: client: HttpClientWithUsernameOverSslExample, Server: HttpServerWithUsernameOverSslExample.
Sicurezza con nome utente su modalità mista SSL: client: HttpClientWithKerberosOverSslExample, Server: HttpServerWithKerberosOverSslExample.
Sicurezza con nome utente su modalità mista SSL: MetadataImportWithUsernameOverSslExample. Token rilasciato sulla sicurezza in modalità mista SSL: MetadataImportWithIssuedTokenOverSslExample. Certificato X509 sulla sicurezza in modalità mista SSL: MetadataImportWithX509OverSslExample.
One-Time configurazione per esempi di sicurezza
Per eseguire esempi di sicurezza WWSAPI, è necessario configurare i certificati client e server per SSL, nonché un account utente locale per l'autenticazione dell'intestazione HTTP. Prima di iniziare, sono necessari gli strumenti seguenti:
- MakeCert.exe (disponibile in Windows 7 SDK).
- CertUtil.exe o CertMgr.exe (CertUtil.exe è disponibile negli SDK di Windows a partire da Windows Server 2003. CertMgr.exe è disponibile in Windows 7 SDK. È necessario solo uno di questi strumenti.
- HttpCfg.exe: è necessario solo se si usa Windows 2003 o Windows XP. Questo strumento è disponibile negli strumenti di supporto di Windows XP SP2 e include anche il CD strumenti di Resource Kit di Windows Server 2003.
Se si ottengono gli esempi WWSAPI installando Windows 7 SDK, è possibile trovare il MakeCert.exe e CertMgr.exe in %ProgramFiles%\Microsoft SDKs\Windows\v7.0\bin.
Eseguire la configurazione in cinque passaggi seguente dal prompt dei comandi (con privilegi elevati se si usa Windows Vista e versioni successive):
- Generare un certificato autofirmato come autorità di certificazione (CA) o autorità di certificazione: MakeCert.exe -ss radice -sr LocalMachine -n "CN=Fake-Test-CA" -cy autorità -r -sk "CAKeyContainer"
- Generare un certificato server usando il certificato precedente come autorità di certificazione: MakeCert.exe -ss My -sr LocalMachine -n "CN=localhost" -sky exchange -is Root -ir LocalMachine -in Fake-Test-CA -sk "ServerKeyContainer"
- Trovare l'identificazione personale (hash SHA-1 a 40 caratteri) del certificato del server eseguendo uno dei comandi seguenti e cercare il certificato denominato localhost con l'autorità di certificazione Fake-Test-CA:
- CertUtil.exe -store localhost
- CertMgr.exe -s -r LocalMachine My
- Registrare l'identificazione personale del certificato del server senza spazi con HTTP.SYS:
- In Windows Vista e versioni successive (l'opzione "appid" è un GUID arbitrario): Netsh.exe http add sslcert ipport=0.0.0:8443 appid={00001111-aaaa-2222-bbbb-3333cccc4444} certhash=<40CharacterThumbprint>
- In Windows XP o 2003: HttpCfg.exe impostare ssl -i 0.0.0.0:8443 -h <40CharacterThumbprint>
- Creare un utente locale: utente Net "TestUserForBasicAuth" "TstPWD@*4Bsic" /add
Per pulire i certificati, l'associazione di certificati SSL e l'account utente creati nei passaggi precedenti, eseguire i comandi seguenti. Si noti che se sono presenti più certificati con lo stesso nome, CertMgr.exe sarà necessario l'input prima di eliminarli.
- CertMgr.exe -del -c -n Fake-Test-CA -s -r LocalMachine Root
- CertMgr.exe -del -c -n localhost -s -r LocalMachine My
- Netsh.exe http delete sslcert ipport=0.0.0.0:8443 (o HttpCfg.exe eliminare ssl -i 0.0.0.0:8443)
- utente Net "TestUserForBasicAuth" /delete
Assicurarsi che sia presente un solo certificato radice denominato Fake-Test-CA. Se non si è certi, è sempre sicuro provare a pulire questi certificati usando i comandi di pulizia precedenti (e ignorare gli errori) prima di avviare la configurazione in cinque passaggi.