Freigeben über


Beispiele für Sicherheitskanalebene

Die folgenden Beispiele veranschaulichen die Sicherheit im Channel Layer-

Windows-Transportsicherheit über TCP: Client: RequestReplyTcpClientWithWindowsTransportSecurityExample, Server: RequestReplyTcpServerWithWindowsTransportSecurityExample.

Windows-Transportsicherheit über named pipes: Client: RequestReplyNamedPipesClientWithWindowsTransportSecurityExample, Server: RequestReplyNamedPipesServerWithWindowsTransportSecurityExample.

SSL-Transportsicherheit: Client: HttpClientWithSslExample, Server: HttpServerWithSslExample.

Benutzername über SSL Mixed-Mode Security: Client: HttpClientWithUsernameOverSslExample, Server: HttpServerWithUsernameOverSslExample.

Benutzername über SSL Mixed-Mode-Sicherheit: Client: HttpClientWithKerberosOverSslExample, Server: HttpServerWithKerberosOverSslExample.

Benutzername über SSL Mixed-Mode Security: MetadataImportWithUsernameOverSslExample. Ausgestelltes Token über SSL Mixed-Mode Security: MetadataImportWithIssuedTokenOverSslExample. X509-Zertifikat über SSL Mixed-Mode-Sicherheit: MetadataImportWithX509OverSslExample.

One-Time Setup für Sicherheitsbeispiele

Zum Ausführen von WWSAPI-Sicherheitsbeispielen müssen Sie die Client- und Serverzertifikate für SSL sowie ein lokales Benutzerkonto für die HTTP-Headerauthentifizierung einrichten. Bevor Sie beginnen, benötigen Sie die folgenden Tools:

  • MakeCert.exe (Verfügbar im Windows 7 SDK).)
  • CertUtil.exe oder CertMgr.exe (CertUtil.exe ist ab Windows Server 2003 in den Windows-SDKs verfügbar. CertMgr.exe ist im Windows 7 SDK verfügbar. Sie benötigen nur eines dieser Tools.)
  • HttpCfg.exe: (Sie benötigen dies nur, wenn Sie Windows 2003 oder Windows XP verwenden. Dieses Tool ist in Windows XP SP2-Supporttools verfügbar und enthält auch die Cd des Windows Server 2003 Resource Kit Tools.)

Wenn Sie die WWSAPI-Beispiele erhalten, indem Sie das Windows 7 SDK installieren, finden Sie die MakeCert.exe und CertMgr.exe unter %ProgramFiles%\Microsoft SDKs\Windows\v7.0\bin.

Führen Sie das folgende fünfstufige Setup über die Eingabeaufforderung aus (wenn Sie Windows Vista und höher verwenden):

  1. Generieren Sie ein selbstsigniertes Zertifikat als Zertifizierungsstelle oder Aussteller: MakeCert.exe -ss Root -sr LocalMachine -n "CN=Fake-Test-CA" -cy Autorität -r -sk "CAKeyContainer"
  2. Generieren Sie ein Serverzertifikat mit dem vorherigen Zertifikat als Aussteller: MakeCert.exe -ss My -sr LocalMachine -n "CN=localhost" -sky Exchange -is Root -ir LocalMachine -in Fake-Test-CA -sk "ServerKeyContainer"
  3. Suchen Sie den Fingerabdruck (ein 40-stelligen SHA-1-Hash) des Serverzertifikats, indem Sie einen der folgenden Befehle ausführen und nach dem Zertifikat mit dem Namen "localhost" mit dem Aussteller "Fake-Test-CA" suchen:
    • CertUtil.exe -store "Mein localhost"-
    • CertMgr.exe -s -r LocalMachine My
  4. Registrieren Sie den Fingerabdruck des Serverzertifikats ohne Leerzeichen mit HTTP.SYS:
    • Unter Windows Vista und höher (die Option "appid" ist eine beliebige GUID): Netsh.exe http add sslcert ipport=0.0.0.0:8443 appid={00001111-aaaa-2222-bbbb-3333cccc4444} certhash=<40CharacterThumbprint>
    • Unter Windows XP oder 2003: HttpCfg.exe ssl -i 0.0.0.0:8443 -h <40CharacterThumbprint->
  5. Erstellen eines lokalen Benutzers: Net-Benutzer "TestUserForBasicAuth" "TstPWD@*4Bsic" /add

Führen Sie die folgenden Befehle aus, um die Zertifikate zu bereinigen, die SSL-Zertifikatbindung und das benutzerkonto, das in den vorherigen Schritten erstellt wurde. Beachten Sie, dass mehrere Zertifikate mit demselben Namen vorhanden sind, CertMgr.exe Ihre Eingabe benötigen, bevor sie gelöscht werden.

  • 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 (oder HttpCfg.exe ssl -i 0.0.0.0:8443)
  • Net-Benutzer "TestUserForBasicAuth" /delete

Stellen Sie sicher, dass nur ein Stammzertifikat mit dem Namen "Fake-Test-CA" vorhanden ist. Wenn Sie nicht sicher sind, ist es immer sicher, diese Zertifikate mithilfe der oben genannten Bereinigungsbefehle zu bereinigen (und Fehler zu ignorieren), bevor Sie das Fünf-Schritt-Setup starten.