Condividi tramite


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):

  1. 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"
  2. 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"
  3. 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
  4. 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>
  5. 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.