Como criar pedidos SSL utilizando WinInet

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática… erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 168151
Exclusão de Responsabilidade para Conteúdo sem Suporte na KB
Este artigo foi escrito sobre produtos para os quais a Microsoft já não fornece suporte. Por conseguinte, este artigo é oferecido "tal como está" e deixará de ser actualizado.
Sumário
Este artigo explica como efectuar pedidos SSL utilizando a API do WinInet.
Mais Informação
É possível estabelecer uma sessão Secure Socket Layer (SSL) ou HTTP Private Communications Technology (PCT, Private Communication Technology) com a API do WinInet. Proteger O HTTP, referido como https://, é efectuada através da porta TCP 443. Código semelhante ao seguinte pode ser utilizado para estabelecer uma sessão HTTPS:
   ...   hOpen = InternetOpen (...);   Connect = InternetConnect (                hOpen,                      // InternetOpen handle                "MyHttpServer",             // Server  name      INTERNET_DEFAULT_HTTPS_PORT,// Default HTTPS port - 443                "",                         // User name                "",                         //  User password                INTERNET_SERVICE_HTTP,      // Service      0,                          // Flags      0                           // Context                   );   hReq = HttpOpenRequest (                hConnect,                   // InternetConnect handle      "GET",                      // Method      "",                         // Object name      HTTP_VERSION,               // Version      "",                         // Referrer                NULL,                       // Extra headers      INTERNET_FLAG_SECURE,       // Flags      0                           // Context                );   ...				
Please Nota duas diferenças quando utilizar HTTPS em vez de HTTP:
  • InternetConnect utiliza INTERNET_DEFAULT_HTTPS_PORT em vez de INTERNET_INVALID_PORT_NUMBER ou INTERNET_DEFAULT_HTTP_PORT
  • HttpOpenRequest utiliza a opção INTERNET_FLAG_SECURE juntamente com todas as outras opções.
As seguintes duas opções podem ser utilizadas em HttpOpenRequest ou em InternetOpenUrl para ignorar erros de certificado inválido:

  • INTERNET_FLAG_IGNORE_CERT_CN_INVALID - ignora erros que podem ser provocados pelo nome de anfitrião do servidor não correspondência do nome de anfitrião no pedido de certificado.
  • INTERNET_FLAG_IGNORE_CERT_DATE_INVALID - ignora erros que podem ser causados por um certificado de servidor expirou.
Consulte a documentação Internet Client SDK para obter mais informações sobre estes sinalizadores.

A funcionalidade de SSL e PCT são fornecidos pelo Schannel.dll está correctamente instalado quando executa o programa de redistribuição Wintdist.exe ou Wint351.exe. Para obter informações sobre redistribuir Schannel.dll, consulte Redist.txt ou Axredist.txt.
Referências
Ajuda do Internet Client SDK

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 168151 - Última Revisão: 07/02/2004 13:58:40 - Revisão: 1.1

Microsoft Internet Explorer 3.0, Microsoft Internet Explorer 4.0 128-Bit Edition, Microsoft Internet Explorer 4.01 Service Pack 2, Microsoft Windows Internet Services (WinInet)

  • kbmt kbhowto KB168151 KbMtpt
Comentários