Beispiele für Sicherheitskanalebene

Die folgenden Beispiele veranschaulichen die Sicherheit in der Kanalschicht

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

Windows-Transportsicherheit über benannte Pipes: Client: RequestReplyNamedPipesClientWithWindowsTransportSecurityExample, Server: RequestReplyNamedPipesServerWithWindowsTransportSecurityExample.

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

Mixed-Mode-Sicherheit zwischen Benutzername und SSL: Client: HttpClientWithUsernameOverSslExample, Server: HttpServerWithUsernameOverSslExample.

Mixed-Mode-Sicherheit zwischen Benutzername und SSL: Client: HttpClientWithKerberosOverSslExample, Server: HttpServerWithKerberosOverSslExample.

Username over SSL Mixed-Mode Security: MetadataImportWithUsernameOverSslExample. Ausgestelltes Token über SSL-Mixed-Mode-Sicherheit: MetadataImportWithIssuedTokenOverSslExample. X509-Zertifikat über SSL-Sicherheit im gemischten Modus: 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 (Im Windows 7 SDK verfügbar.)
  • CertUtil.exe oder CertMgr.exe (CertUtil.exe ist in den Windows SDKs ab Windows Server 2003 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 den Supporttools für Windows XP SP2 verfügbar und wird auch mit der Cd "Windows Server 2003 Resource Kit Tools" ausgeliefert.)

Wenn Sie die WWSAPI-Beispiele durch Installieren des Windows 7 SDK abrufen, 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 (mit erhöhten Rechten, wenn Sie Windows Vista und höher verwenden):

  1. Generieren Eines selbstsignierten Zertifikats als Zertifizierungsstelle oder Aussteller: MakeCert.exe -ss Root -sr LocalMachine -n "CN=Fake-Test-CA" -cy authority -r -sk "CAKeyContainer"
  2. Generieren Eines Serverzertifikats mithilfe des vorherigen Zertifikats 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 SHA-1-Hash mit 40 Zeichen) des Serverzertifikats, indem Sie einen der folgenden Befehle ausführen, und suchen Sie mit dem Aussteller Fake-Test-CA nach dem Zertifikat localhost:
    • 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 sslcert ipport=0.0.0.0:8443 appid={00112233-4455-6677-8899-AABBCCDDEEFF} certhash=<40CharacterThumbprint>
    • Unter Windows XP oder 2003: HttpCfg.exe ssl -i 0.0.0.0:8443 -h <40CharacterThumbprint> festlegen
  5. Erstellen eines lokalen Benutzers: Net user "TestUserForBasicAuth" "TstPWD@*4Bsic" /add

Führen Sie die folgenden Befehle aus, um die Zertifikate, die SSL-Zertifikatbindung und das in den vorherigen Schritten erstellte Benutzerkonto zu sauber. Beachten Sie, wenn mehrere Zertifikate mit demselben Namen vorhanden sind, CertMgr.exe Ihre Eingabe benötigen, bevor Sie sie löschen.

  • 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 löschen)
  • Net user "TestUserForBasicAuth" /delete

Stellen Sie sicher, dass nur ein Stammzertifikat namens Fake-Test-CA vorhanden ist. Wenn Sie nicht sicher sind, ist es immer sicher, zu versuchen, diese Zertifikate mithilfe der oben genannten Bereinigungsbefehle zu sauber (und Fehler zu ignorieren), bevor Sie mit dem fünfstufigen Setup beginnen.