Метод ICertRequest3::SetCredential (certcli.h)
Метод SetCredential задает учетные данные, используемые для связи с веб-службой регистрации сертификатов.
Синтаксис
HRESULT SetCredential(
[in] LONG hWnd,
[in] X509EnrollmentAuthFlags AuthType,
[in] BSTR strCredential,
[in] BSTR strPassword
);
Параметры
[in] hWnd
Дескриптор родительского окна.
Для получения учетных данных необходимо задать параметр hWnd .
Для авторизации на основе сертификата дескриптор используется, если для получения учетных данных требуется запрос пользовательского интерфейса, например, если учетные данные используются на смарт-карта и требуется запрос на закрепление.
При использовании kerberos, анонимной проверки подлинности или проверки подлинности имени пользователя и пароля этот параметр игнорируется.
[in] AuthType
Значение перечисления X509EnrollmentAuthFlags , указывающее тип проверки подлинности.
Значение | Значение |
---|---|
|
Анонимная проверка подлинности.
Задайте для параметров strCredential и strPasswordзначение NULL или пустые строки. |
|
Сертификат проверки подлинности клиента, установленный на локальном компьютере. Сертификат содержит открытый ключ , связанный с закрытым ключом (не содержащимся в сертификате). Сертификат используется сервером для проверки удостоверения клиента.
Параметр strCredential содержит двоичный 20-байтовый хэш SHA-1 сертификата, который передается в веб-службу регистрации сертификатов для проверки подлинности вызывающего объекта. Задайте для параметра strPasswordзначение NULL или пустую строку. Параметр strCredential должен ссылаться на сертификат, установленный в соответствующем личном хранилище сертификатов, и должен иметь связанный закрытый ключ, доступный вызывающему объекту. |
|
Аутентификация Kerberos.
Задайте для параметров strCredential и strPasswordзначение NULL или пустые строки. |
|
Проверка подлинности имени пользователя и пароля в формате обычного текста. Имя пользователя и пароль шифруются при их хранении в хранилище учетных данных на клиенте.
Параметры strCredential и strPassword содержат строку имени пользователя и пароль в виде открытого текста, которые поддерживаются веб-службой регистрации сертификатов для проверки подлинности вызывающего объекта. Так как подключение службы регистрации всегда использует протокол SSL , пароль шифруется при отправке по сети. |
[in] strCredential
Строка, содержащая учетные данные.
[in] strPassword
Строка, содержащая пароль.
Возвращаемое значение
Код возврата | Описание |
---|---|
|
Параметр AuthType должен иметь значение X509AuthKerberos. |
Комментарии
Перед вызовом метода ICertRequest2::Submit необходимо вызвать метод SetCredential.
Аргументы strCredential и strPassword изменяются в зависимости от значения, указанного в параметре AuthType , как показано в следующей таблице.
Параметр AuthType | Параметр strCredential | Параметр strPassword |
---|---|---|
X509AuthAnonymous | NULL | NULL |
X509AuthCertificate | 20-байтный хэш SHA-1 (отпечаток) сертификата | NULL |
X509AuthKerberos | NULL | NULL |
X509AuthUsername | Имя пользователя в виде открытого текста, распознаваемое веб-службой регистрации сертификатов. | Пароль в виде открытого текста, связанный с именем пользователя. |
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 7 [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 R2 [только классические приложения] |
Целевая платформа | Windows |
Header | certcli.h (включая Certsrv.h) |
Библиотека | Certidl.lib |
DLL | Certcli.dll |