Método IWinHttpRequest::SetClientCertificate

O método SetClientCertificate seleciona um certificado do cliente para enviar para um servidor HTTPS (Protocolo de Transferência de Hipertexto Seguro).

Sintaxe

HRESULT SetClientCertificate(
  [in] BSTR ClientCertificate
);

Parâmetros

ClientCertificate [in]

Especifica o local, o repositório de certificados e a entidade de um certificado do cliente.

Valor retornado

O valor retornado é S_OK com êxito ou um valor de erro, caso contrário.

Comentários

A cadeia de caracteres especificada no parâmetro ClientCertificate consiste no local do certificado, no repositório de certificados e no nome da entidade delimitados por barras invertidas. Para obter mais informações sobre os componentes da cadeia de caracteres de certificado, consulte Certificados do Cliente.

O nome e o local do repositório de certificados são opcionais. No entanto, se você especificar um repositório de certificados, também deverá especificar o local desse repositório de certificados. O local padrão é CURRENT_USER e o repositório de certificados padrão é "MY". Uma entidade em branco indica que o primeiro certificado no repositório de certificados deve ser usado.

Chame SetClientCertificate para selecionar um certificado antes de chamar Enviar para enviar a solicitação.

Os Serviços HTTP do Microsoft Windows (WinHTTP) não fornecem certificados de cliente para servidores proxy que solicitam certificados para autenticação.

Observação

Para Windows XP e Windows 2000, consulte a seção Requisitos de tempo de execução da Página Inicial do WinHTTP.

Exemplos

O exemplo de script a seguir mostra como selecionar um certificado de cliente para enviar com uma solicitação. Um certificado com a entidade "Meu Certificado Middle-Tier" é escolhido no repositório de certificados "Pessoal" no registro em HKEY_LOCAL_MACHINE. Como este exemplo de código é específico do Microsoft JScript, que usa a barra invertida como um caractere de escape, duas barras invertidas adjacentes são necessárias para delimitar componentes da cadeia de caracteres de certificado.

// Instantiate a WinHttpRequest object.
var HttpReq = new ActiveXObject("WinHttp.WinHttpRequest.5.1");
    
// Open an HTTP connection.
HttpReq.Open("GET", "https://www.fabrikam.com/", false);
    
// Select a client certificate.
HttpReq.SetClientCertificate(
            "LOCAL_MACHINE\\Personal\\My Middle-Tier Certificate");

// Send the HTTP Request.
HttpReq.Send();

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows XP, Windows 2000 Professional com SP3 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows Server 2003, Windows 2000 Server com SP3 [somente aplicativos da área de trabalho]
Redistribuível
WinHTTP 5.0 e Internet Explorer 5.01 ou posterior no Windows XP e Windows 2000.
IDL
HttpRequest.idl
Biblioteca
Winhttp.lib
DLL
Winhttp.dll

Confira também

IWinHttpRequest

WinHttpRequest

SSL no WinHTTP

Versões do WinHTTP