Поделиться через


Метод IWinHttpRequest::SetClientCertificate

Метод SetClientCertificate выбирает сертификат клиента для отправки на сервер HTTPS.

Синтаксис

HRESULT SetClientCertificate(
  [in] BSTR ClientCertificate
);

Параметры

ClientCertificate [in]

Указывает расположение, хранилище сертификатов и субъект сертификата клиента.

Возвращаемое значение

Возвращаемое значение S_OK при успешном выполнении или значение ошибки в противном случае.

Комментарии

Строка, указанная в параметре ClientCertificate , состоит из расположения сертификата, хранилища сертификатов и имени субъекта, разделенных обратными косыми чертами. Дополнительные сведения о компонентах строки сертификата см. в разделе Сертификаты клиента.

Имя и расположение хранилища сертификатов являются необязательными. Однако при указании хранилища сертификатов необходимо также указать расположение этого хранилища сертификатов. Расположение по умолчанию — CURRENT_USER, а хранилище сертификатов по умолчанию — MY. Пустая тема указывает, что следует использовать первый сертификат в хранилище сертификатов.

Вызовите Метод SetClientCertificate , чтобы выбрать сертификат, перед вызовом метода Send для отправки запроса.

Службы MICROSOFT Windows HTTP (WinHTTP) не предоставляют сертификаты клиента прокси-серверам, запрашивающим сертификаты для проверки подлинности.

Примечание

Для Windows XP и Windows 2000 см. раздел Требования к времени выполнения начальной страницы WinHTTP.

Примеры

В следующем примере скрипта показано, как выбрать сертификат клиента для отправки с запросом. Сертификат с темой "My Middle-Tier Certificate" выбирается из хранилища сертификатов "Личный" в реестре в разделе HKEY_LOCAL_MACHINE. Так как этот пример кода предназначен для Microsoft JScript, в котором обратная косая черта используется в качестве escape-символа, для разделения компонентов строки сертификата требуются две смежные обратные косые черты.

// 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();

Требования

Требование Значение
Минимальная версия клиента
Windows XP, Windows 2000 Профессиональная с пакетом обновления 3 (SP3) [только классические приложения]
Минимальная версия сервера
Windows Server 2003, Windows 2000 Server с пакетом обновления 3 (SP3) [только классические приложения]
Распространяемые компоненты
WinHTTP 5.0 и Internet Обозреватель 5.01 или более поздней версии в Windows XP и Windows 2000.
IDL
HttpRequest.idl
Библиотека
Winhttp.lib
DLL
Winhttp.dll

См. также раздел

IWinHttpRequest

WinHttpRequest

SSL в WinHTTP

Версии WinHTTP