Método IWinHttpRequest::SetClientCertificate
El método SetClientCertificate selecciona un certificado de cliente para enviarlo a un servidor de Protocolo de transferencia de hipertexto seguro (HTTPS).
Sintaxis
HRESULT SetClientCertificate(
[in] BSTR ClientCertificate
);
Parámetros
-
ClientCertificate [in]
-
Especifica la ubicación, el almacén de certificados y el asunto de un certificado de cliente.
Valor devuelto
El valor devuelto se S_OK si se ejecuta correctamente o un valor de error de lo contrario.
Observaciones
La cadena especificada en el parámetro ClientCertificate consta de la ubicación del certificado, el almacén de certificados y el nombre del firmante delimitados por barras diagonales inversas. Para obtener más información sobre los componentes de la cadena de certificado, vea Certificados de cliente.
El nombre y la ubicación del almacén de certificados son opcionales. Sin embargo, si especifica un almacén de certificados, también debe especificar la ubicación de ese almacén de certificados. La ubicación predeterminada es CURRENT_USER y el almacén de certificados predeterminado es "MY". Un asunto en blanco indica que se debe usar el primer certificado del almacén de certificados.
Llame a SetClientCertificate para seleccionar un certificado antes de llamar a Send para enviar la solicitud.
Los servicios HTTP de Microsoft Windows (WinHTTP) no proporcionan certificados de cliente a servidores proxy que solicitan certificados para la autenticación.
Nota
Para Windows XP y Windows 2000, consulte la sección Requisitos en tiempo de ejecución de la página de inicio de WinHTTP.
Ejemplos
En el ejemplo de scripting siguiente se muestra cómo seleccionar un certificado de cliente para enviar con una solicitud. Se elige un certificado con el asunto "Mi certificado de Middle-Tier" del almacén de certificados "Personal" en el registro en HKEY_LOCAL_MACHINE. Dado que este ejemplo de código es específico de Microsoft JScript, que usa la barra diagonal inversa como carácter de escape, se requieren dos barras diagonales inversas adyacentes para delimitar los componentes de la cadena 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 | Value |
---|---|
Cliente mínimo compatible |
Windows XP, Windows 2000 Professional con SP3 [solo aplicaciones de escritorio] |
Servidor mínimo compatible |
Windows Server 2003, Windows 2000 Server con SP3 [solo aplicaciones de escritorio] |
Redistribuible |
WinHTTP 5.0 e Internet Explorer 5.01 o posterior en Windows XP y Windows 2000. |
IDL |
|
Biblioteca |
|
Archivo DLL |
|