Метод 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 |
|
Библиотека |
|
DLL |
|