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