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


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

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

Транспортная безопасность Windows через TCP: клиент: RequestReplyTcpClientWithWindowsTransportSecurityExample, сервер: RequestReplyTcpServerWithWindowsTransportSecurityExample.

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

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

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

Имя пользователя по протоколу безопасности смешанного режима SSL: клиент: HttpClientWithKerberosOverSslExample, server: 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. Создайте самозаверяющий сертификат, чтобы быть удостоверяющим центром (CA) или издателем: MakeCert.exe -ss корневой -sr LocalMachine -n "CN=Fake-Test-CA" -cy авторитет -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={00001111-aaaa-2222-bbbb-3333cccc4444} 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. Если вы не уверены, всегда безопасно попробовать очистить эти сертификаты с помощью приведенных выше команд очистки (и проигнорировать ошибки) перед началом пятиэтапной настройки.