Compartilhar via


Exemplos de camada de canal de segurança

Os exemplos a seguir ilustram a segurança na Camada de Canal

Segurança de transporte do Windows por TCP: Cliente: RequestReplyTcpClientWithWindowsTransportSecurityExample, Servidor: RequestReplyTcpServerWithWindowsTransportSecurityExample.

Segurança de transporte do Windows em pipes nomeados: Cliente: RequestReplyNamedPipesClientWithWindowsTransportSecurityExample, Servidor: RequestReplyNamedPipesServerWithWindowsTransportSecurityExample.

Segurança de transporte SSL: Cliente: httpClientWithSslExample, Servidor: httpServerWithSslExample.

Nome de usuário com segurança de modo misto SSL: Cliente: HttpClientWithUsernameOverSslExample, Servidor: HttpServerWithUsernameOverSslExample.

Nome de usuário com segurança de modo misto SSL: Cliente HttpClientWithKerberosOverSslExample, Servidor: HttpServerWithKerberosOverSslExample.

Nome de usuário com segurança de modo misto SSL: MetadataImportWithUsernameOverSslExample. Emissão de token com segurança em modo misto SSL: MetadataImportWithIssuedTokenOverSslExample. Certificado X509 com segurança em modo misto SSL: MetadataImportWithX509OverSslExample.

Instalação única para exemplos de segurança

Para executar exemplos de segurança do WWSAPI, você precisa configurar os certificados de cliente e servidor para SSL, bem como uma conta de usuário local para autenticação de cabeçalho HTTP. Antes de começar, você precisa das seguintes ferramentas:

  • MakeCert.exe (Disponível no SDK do Windows 7.)
  • CertUtil.exe ou CertMgr.exe (CertUtil.exe está disponível nos SDKs do Windows a partir do Windows Server 2003. CertMgr.exe está disponível no SDK do Windows 7. Você só precisa de uma dessas ferramentas.)
  • HttpCfg.exe: (Você só precisará disso se estiver usando o Windows 2003 ou o Windows XP. Essa ferramenta está disponível nas Ferramentas de Suporte do Windows XP SP2 e também vem com o CD das Ferramentas de Kit de Recursos do Windows Server 2003.)

Se você receber os exemplos do WWSAPI instalando o SDK do Windows 7, poderá encontrar o MakeCert.exe e CertMgr.exe em %ProgramFiles%\Microsoft SDKs\Windows\v7.0\bin.

Execute a seguinte configuração de cinco etapas no prompt de comando (com privilégios elevados se você estiver usando o Windows Vista e posteriores):

  1. Gere um certificado autoassinado para ser a autoridade de certificação (AC) ou emissor: MakeCert.exe -ss Root -sr LocalMachine -n "CN=Fake-Test-CA" -cy autoridade -r -sk "CAKeyContainer"
  2. Gere um certificado de servidor usando o certificado anterior como emissor: MakeCert.exe -ss My -sr LocalMachine -n "CN=localhost" -sky exchange -is Root -ir LocalMachine -in Fake-Test-CA -sk "ServerKeyContainer"
  3. Localize a impressão digital (um hash SHA-1 de 40 caracteres) do certificado do servidor executando um dos seguintes comandos e pesquise o certificado chamado localhost com o emissor Fake-Test-CA:
    • CertUtil.exe -store Meu localhost
    • CertMgr.exe -s -r LocalMachine My
  4. Registre a impressão digital do certificado do servidor sem espaços com HTTP.SYS:
    • No Windows Vista e acima (a opção "appid" é um GUID arbitrário): Netsh.exe http add sslcert ipport=0.0.0.0:8443 appid={00001111-aaaa-2222-bbbb-3333cccc4444} certhash=<40CharacterThumbprint>
    • No Windows XP ou 2003: HttpCfg.exe set ssl -i 0.0.0.0:8443 -h <40CharacterThumbprint>
  5. Crie um usuário local: Net user "TestUserForBasicAuth" "TstPWD@*4Bsic" /add

Para limpar os certificados, a associação de certificado SSL e a conta de usuário criada nas etapas anteriores, execute os comandos a seguir. Observe que se houver vários certificados com o mesmo nome, CertMgr.exe precisarão de sua entrada antes de excluí-los.

  • 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 (or HttpCfg.exe delete ssl -i 0.0.0.0:8443)
  • Net user "TestUserForBasicAuth" /delete

Verifique se há apenas um certificado raiz chamado Fake-Test-CA. Se você não tiver certeza, é sempre seguro tentar limpar esses certificados usando os comandos de limpeza acima (e ignorar erros) antes de iniciar a configuração de cinco etapas.