Partilhar 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 sobre TCP: Cliente: RequestReplyTcpClientWithWindowsTransportSecurityExemplo, Servidor: RequestReplyTcpServerWithWindowsTransportSecurityExemplo.

Proposta de segurança de transporte do Windows através de pipes nomeados: Cliente - RequestReplyNamedPipesClientWithWindowsTransportSecurityExample, Servidor - RequestReplyNamedPipesServerWithWindowsTransportSecurityExample.

Segurança de transporte SSL: Cliente: HttpClientWithSslExample, Servidor: HttpServerWithSslExample.

Nome de utilizador com segurança SSL em modo misto: Cliente: HttpClientWithUsernameOverSslExample, Servidor: HttpServerWithUsernameOverSslExample.

Nome de utilizador sobre segurança em modo misto SSL: Cliente: HttpClientWithKerberosOverSslExample, Servidor: HttpServerWithKerberosOverSslExample.

Nome de utilizador sobre segurança de modo misto SSL: MetadataImportWithUsernameOverSslExample. Token emitido com segurança de modo misto em SSL: MetadataImportWithIssuedTokenOverSslExample. Certificado X509 sobre segurança de modo misto SSL: MetadataImportWithX509OverSslExample.

Configuração do One-Time para amostras de segurança

Para executar exemplos de segurança 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ó precisa disso se estiver usando o Windows 2003 ou Windows XP. Esta ferramenta está disponível nas Ferramentas de Suporte do Windows XP SP2 e também vem com o CD de Ferramentas do Windows Server 2003 Resource Kit.)

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

Execute a seguinte configuração de cinco etapas a partir do prompt de comando (elevado se você estiver usando o Windows Vista e superior):

  1. Gere um certificado autoassinado para ser a autoridade de certificação (CA) 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 Falso-Test-CA -sk "ServerKeyContainer"
  3. Encontre a impressão digital (um hash SHA-1 de 40 caracteres) do certificado do servidor executando um dos seguintes comandos e procure o certificado chamado localhost com o emissor Fake-Test-CA:
    • CertUtil.exe -store Meu localhost
    • CertMgr.exe -s -r LocalMachine Meu
  4. Registe a impressão digital do certificado do servidor, sem espaços, no HTTP.SYS.
    • No Windows Vista e superior (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 configurar SSL -i 0.0.0.0:8443 -h <40CharacterThumbprint>
  5. Crie um utilizador local: Net user "TestUserForBasicAuth" "TstPWD@*4Bsic" /add

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

  • CertMgr.exe -del -c -nTest-CA -s -r LocalMachine raiz falsa
  • CertMgr.exe -del -c -n localhost -s -r LocalMachine Meu
  • Netsh.exe http excluir sslcert ipport=0.0.0.0:8443 (ou HttpCfg.exe excluir ssl -i 0.0.0.0:8443)
  • Utilizador de rede "TestUserForBasicAuth" /eliminar

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 em cinco etapas.