Biztonsági csatorna rétegének példái
Az alábbi példák a csatornaréteg
Windows átviteli biztonság TCP-en keresztül: Ügyfél: RequestReplyTcpClientWithWindowsTransportSecurityExample, Kiszolgáló: RequestReplyTcpServerWithWindowsTransportSecurityExample.
Windows átviteli biztonság nevesített csöveken keresztül: Ügyfél: RequestReplyNamedPipesClientWithWindowsTransportSecurityExample, Kiszolgáló: RequestReplyNamedPipesServerWithWindowsTransportSecurityExample.
SSL átviteli biztonság: Ügyfél: HttpClientWithSslExample, Kiszolgáló: HttpServerWithSslExample.
Felhasználónév SSL-en keresztül vegyes módú biztonság: Ügyfél: HttpClientWithUsernameOverSslExample, Kiszolgáló: HttpServerWithUsernameOverSslExample.
Felhasználónév SSL-en keresztül vegyes módú biztonság: Ügyfél: HttpClientWithKerberosOverSslExample, Kiszolgáló: HttpServerWithKerberosOverSslExample.
Felhasználónév SSL vegyes módú biztonságon keresztül: MetadataImportWithUsernameOverSslExample. Kibocsátott token SSL vegyes módú biztonságon keresztül: MetadataImportWithIssuedTokenOverSslExample. X509-tanúsítvány SSL vegyes módú biztonságon keresztül: MetadataImportWithX509OverSslExample.
biztonsági minták beállítása One-Time
A WWSAPI biztonsági példáinak futtatásához be kell állítania az SSL ügyfél- és kiszolgálótanúsítványait, valamint egy helyi felhasználói fiókot a HTTP-fejléc-hitelesítéshez. A kezdés előtt a következő eszközökre van szüksége:
- MakeCert.exe (Elérhető a Windows 7 SDK-ban.)
- CertUtil.exe vagy CertMgr.exe (CertUtil.exe a Windows SDK-kban a Windows Server 2003-tól kezdve érhető el. CertMgr.exe a Windows 7 SDK-ban érhető el. Csak egy ilyen eszközre van szüksége.)
- HttpCfg.exe: (Erre csak Akkor van szükség, ha Windows 2003-at vagy Windows XP-t használ. Ez az eszköz elérhető a Windows XP SP2 támogatási eszközeiben, és a Windows Server 2003 Resource Kit Tools CD-vel is rendelkezik.)
Ha a WWSAPI-példákat a Windows 7 SDK telepítésével kapja meg, a MakeCert.exe és a CertMgr.exe a %ProgramFiles%\Microsoft SDKs\Windows\v7.0\bin alatt találja.
Hajtsa végre a következő ötlépéses beállítást a parancssorból (Windows Vista és újabb rendszerek használata esetén emelt szintű):
- Önaláírt tanúsítvány létrehozása hitelesítésszolgáltatóként (CA) vagy kiállítóként: MakeCert.exe -ss Legfelső szintű -sr LocalMachine -n "CN=Fake-Test-CA" -cy szolgáltató -r -sk "CAKeyContainer"
- Kiszolgálótanúsítvány létrehozása az előző tanúsítvány kiállítójaként: MakeCert.exe -ss Saját -sr LocalMachine -n "CN=localhost" -sky exchange -is Root -ir LocalMachine -in Fake-Test-CA -sk "ServerKeyContainer"
- Keresse meg a kiszolgálótanúsítvány ujjlenyomatát (egy 40 karakteres SHA-1 kivonatot) az alábbi parancsok futtatásával, és keresse meg a localhost nevű tanúsítványt a Fake-Test-CA kiállítóval:
- CertUtil.exe -store Saját localhost
- CertMgr.exe -s -r LocalMachine Saját
- Regisztrálja a kiszolgálótanúsítvány ujjlenyomatát szóközök nélkül HTTP.SYS:
- Windows Vista és újabb rendszereken (az "appid" beállítás egy tetszőleges GUID): Netsh.exe http add sslcert ipport=0.0.0.0:8443 appid={000011 11-aaaa-2222-bbbb-3333cccc4444} certhash=<40CharacterThumbprint>
- Windows XP vagy 2003 rendszeren: HttpCfg.exe ssl -i 0.0.0.0:8443 -h <40CharacterThumbprint>
- Helyi felhasználó létrehozása: Net-felhasználó "TestUserForBasicAuth" "TstPWD@*4Bsic" /add
A tanúsítványok, az SSL-tanúsítványkötés és az előző lépésekben létrehozott felhasználói fiók törléséhez futtassa az alábbi parancsokat. Vegye figyelembe, hogy ha több azonos nevű tanúsítvány is létezik, CertMgr.exe a törlésük előtt szüksége lesz a bemenetre.
- CertMgr.exe -del -c -n HamisTest-CA -s -r LocalMachine gyökér
- CertMgr.exe -del -c -n localhost -s -r LocalMachine Saját
- Netsh.exe http delete sslcert ipport=0.0.0.0:8443 (vagy HttpCfg.exe ssl--i 0.0.0.0:8443)
- "TestUserForBasicAuth" net-felhasználó /delete
Győződjön meg arról, hogy csak egy Fake-Test-CA nevű főtanúsítvány van. Ha nem biztos benne, az ötlépéses beállítás megkezdése előtt mindig próbálja meg megtisztítani ezeket a tanúsítványokat a fenti törlési parancsokkal (és hagyja figyelmen kívül a hibákat).