Przykłady warstwy kanału zabezpieczeń
Poniższe przykłady ilustrują zabezpieczenia w warstwie kanału
Zabezpieczenia transportu systemu Windows za pośrednictwem protokołu TCP: Klient: RequestReplyTcpClientWithWindowsTransportSecurityExample, Serwer: RequestReplyTcpServerWithWindowsTransportSecurityExample.
Zabezpieczenia transportu systemu Windows za pośrednictwem nazwanych potoków: Klient: RequestReplyNamedPipesClientWithWindowsTransportSecurityExample, Serwer: RequestReplyNamedPipesServerWithWindowsTransportSecurityExample.
Zabezpieczenia transportu SSL: Klient: HttpClientWithSslExample, Serwer: HttpServerWithSslExample.
Nazwa użytkownika za pośrednictwem zabezpieczeń trybu mieszanego SSL: klient: HttpClientWithUsernameOverSslExample, serwer: HttpServerWithUsernameOverSslExample.
Nazwa użytkownika za pośrednictwem zabezpieczeń trybu mieszanego SSL: Klient: HttpClientWithKerberosOverSslExample, Serwer: HttpServerWithKerberosOverSslExample.
Nazwa użytkownika za pośrednictwem zabezpieczeń trybu mieszanego SSL: MetadataImportWithUsernameOverSslExample. Wystawiony token za pośrednictwem zabezpieczeń trybu mieszanego SSL: MetadataImportWithIssuedTokenOverSslExample. Certyfikat X509 za pośrednictwem zabezpieczeń trybu mieszanego SSL: MetadataImportWithX509OverSslExample.
One-Time Konfiguracja przykładów zabezpieczeń
Aby uruchomić przykłady zabezpieczeń WWSAPI, należy skonfigurować certyfikaty klienta i serwera dla protokołu SSL, a także konto użytkownika lokalnego na potrzeby uwierzytelniania nagłówka HTTP. Przed rozpoczęciem potrzebne są następujące narzędzia:
- MakeCert.exe (dostępne w zestawie SDK systemu Windows 7).
- CertUtil.exe lub CertMgr.exe (CertUtil.exe jest dostępny w zestawach SDK systemu Windows, począwszy od systemu Windows Server 2003. CertMgr.exe jest dostępny w zestawie SDK systemu Windows 7. Potrzebujesz tylko jednego z tych narzędzi).
- HttpCfg.exe: (Potrzebujesz tego tylko wtedy, gdy używasz systemu Windows 2003 lub Windows XP. To narzędzie jest dostępne w narzędziach pomocy technicznej systemu Windows XP z dodatkiem SP2, a także jest wyposażone w dysk CD narzędzi Zestawu zasobów systemu Windows Server 2003).
Jeśli uzyskasz przykłady interfejsu WWSAPI, instalując zestaw SDK systemu Windows 7, możesz znaleźć MakeCert.exe i CertMgr.exe w obszarze %ProgramFiles%\Microsoft SDK\Windows\v7.0\bin.
Wykonaj następującą konfigurację pięciu kroków z wiersza polecenia (podwyższony poziom uprawnień, jeśli używasz systemu Windows Vista i nowszych):
- Wygeneruj certyfikat z podpisem własnym jako urząd certyfikacji lub wystawca: MakeCert.exe -ss root -sr LocalMachine -n "CN=Fake-Test-CA" -cy urzędu -r -sk "CAKeyContainer"
- Wygeneruj certyfikat serwera przy użyciu poprzedniego certyfikatu jako wystawca: MakeCert.exe -ss My -sr LocalMachine -n "CN=localhost" -sky exchange -is Root -ir LocalMachine -in Fake-Test-CA -sk "ServerKeyContainer"
- Znajdź odcisk palca (40-znakowy skrót SHA-1) certyfikatu serwera, uruchamiając jedną z następujących poleceń i wyszukaj certyfikat o nazwie localhost z wystawcą Fake-Test-CA:
- CertUtil.exe -store my localhost
- CertMgr.exe -s -r LocalMachine My
- Zarejestruj odcisk palca certyfikatu serwera bez spacji z HTTP.SYS:
- W systemie Windows Vista i nowszych (opcja "appid" jest dowolnym identyfikatorem GUID): Netsh.exe http add sslcert ipport=0.0.0.0:8443 appid={00001111-aaaa-2222-bbbb-3333cc4444} certhash=<40CharacterThumbprint>
- W systemie Windows XP lub 2003: HttpCfg.exe ustawić -i ssl 0.0.0.0:8443 -h <40CharacterThumbprint>
- Tworzenie użytkownika lokalnego: użytkownik net "TestUserForBasicAuth" "TstPWD@*4Bsic" /add
Aby wyczyścić certyfikaty, powiązanie certyfikatu SSL i konto użytkownika utworzone w poprzednich krokach, uruchom następujące polecenia. Pamiętaj, że jeśli istnieje wiele certyfikatów o tej samej nazwie, CertMgr.exe będzie potrzebować danych wejściowych przed ich usunięciem.
- 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 (lub HttpCfg.exe usunąć ssl -i 0.0.0.0:8443)
- użytkownik Net "TestUserForBasicAuth" /delete
Upewnij się, że istnieje tylko jeden certyfikat główny o nazwie Fake-Test-CA. Jeśli nie masz pewności, zawsze można bezpiecznie spróbować wyczyścić te certyfikaty przy użyciu powyższych poleceń oczyszczania (i ignorować błędy) przed rozpoczęciem konfiguracji pięcioetapowej.