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):
- 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"
- 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"
- 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
- 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>
- 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.