Поделиться через


Примеры уровня канала безопасности

В следующих примерах показана безопасность на уровне каналов.

Безопасность транспорта Windows через TCP: Клиент: RequestReplyTcpClientWithWindowsTransportSecurityExample, Сервер: RequestReplyTcpServerWithWindowsTransportSecurityExample.

Безопасность транспорта Windows по именованным каналам: Client: RequestReplyNamedPipesClientWithWindowsTransportSecurityExample, Server: RequestReplyNamedPipesServerWithWindowsTransportSecurityExample.

Безопасность транспорта SSL: Клиент: HttpClientWithSslExample, Сервер: HttpServerWithSslExample.

Имя пользователя в смешанном режиме SSL: Клиент: HttpClientWithUsernameOverSslExample, Сервер: HttpServerWithUsernameOverSslExample.

Имя пользователя через ssl в смешанном режиме безопасности: Клиент: HttpClientWithKerberosOverSslExample, Сервер: HttpServerWithKerberosOverSslExample.

Имя пользователя в смешанном режиме SSL: MetadataImportWithUsernameOverSslExample. Выданный токен через ssl смешанного режима безопасности: MetadataImportWithIssuedTokenOverSslExample. Сертификат X509 через ssl смешанного режима безопасности: MetadataImportWithX509OverSslExample.

Примеры настройки One-Time для системы безопасности

Чтобы запустить примеры безопасности WWSAPI, необходимо настроить сертификаты клиента и сервера для SSL, а также учетную запись локального пользователя для проверки подлинности заголовка HTTP. Перед началом работы вам потребуются следующие средства:

  • MakeCert.exe (доступно в пакете SDK для Windows 7).
  • CertUtil.exe или CertMgr.exe (CertUtil.exe доступен в пакетах SDK для Windows, начиная с Windows Server 2003. CertMgr.exe доступен в пакете SDK для Windows 7. Вам потребуется только одно из этих средств.)
  • HttpCfg.exe: (Это необходимо, только если вы используете Windows 2003 или Windows XP. Это средство доступно в средствах поддержки Windows XP с пакетом обновления 2 (SP2), а также поставляется с компакт-диском средств набора ресурсов Windows Server 2003.)

Если вы получите примеры WWSAPI, установив пакет SDK для Windows 7, вы можете найти MakeCert.exe и CertMgr.exe в разделе %ProgramFiles%\Microsoft SDK\Windows\v7.0\bin.

Выполните следующую пятишаговую настройку из командной строки (с повышенными привилегиями, если вы используете Windows Vista и более поздних версий):

  1. Создайте самозаверяющий сертификат для центра сертификации (ЦС) или издателя: MakeCert.exe -ss Root -sr LocalMachine -n "CN=Fake-Test-CA" -cy authority -r -sk "CAKeyContainer"
  2. Создайте сертификат сервера, используя предыдущий сертификат в качестве издателя: MakeCert.exe -ss My -sr LocalMachine -n "CN=localhost" -sky exchange -is Root -ir LocalMachine -in Fake-Test-CA -sk "ServerKeyContainer"
  3. Найдите отпечаток (40-значный хэш SHA-1) сертификата сервера, выполнив следующую команду и найдите сертификат с именем localhost с издателем Fake-Test-CA:
    • CertUtil.exe -store My localhost
    • CertMgr.exe -s -r LocalMachine My
  4. Зарегистрируйте отпечаток сертификата сервера без пробелов с HTTP.SYS:
    • В Windows Vista и более поздних версий (параметр appid является произвольным GUID): Netsh.exe http add sslcert ipport=0.0.0.0:8443 appid={00112233-4455-6677-8899-AABBCCDDEEFF} certhash=<40CharacterThumbprint>
    • В Windows XP или 2003 :HttpCfg.exe задать ssl -i 0.0.0.0:8443 -h <40CharacterThumbprint>
  5. Создание локального пользователя: net user "TestUserForBasicAuth" "TstPWD@*4Bsic" /add

Чтобы очистить сертификаты, привязку SSL-сертификата и учетную запись пользователя, созданную на предыдущих шагах, выполните следующие команды. Обратите внимание, что при наличии нескольких сертификатов с одинаковым именем CertMgr.exe потребуется ввести данные перед их удалением.

  • 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 (или HttpCfg.exe удалить ssl -i 0.0.0.0:8443)
  • Net user "TestUserForBasicAuth" /delete

Убедитесь, что существует только один корневой сертификат с именем Fake-Test-CA. Если вы не уверены, всегда безопасно попытаться очистить эти сертификаты с помощью приведенных выше команд очистки (и игнорировать ошибки) перед началом пятишаговой установки.