Метод IX509Enrollment2::InstallResponse2 (certenroll.h)
Метод InstallResponse2 устанавливает цепочку сертификатов на компьютере конечной сущности. Массив байтов, содержащий ответ, кодируется с помощью Distinguished Encoding Rules (DER) в соответствии со стандартом Абстрактная синтаксическая нотация 1 (ASN.1). Необходимо указать массив байтов в кодировке DER в строке, которая является чистой двоичной последовательностью или кодировкой Юникода. Этот метод поддерживается через Интернет.
Синтаксис
HRESULT InstallResponse2(
[in] InstallResponseRestrictionFlags Restrictions,
[in] BSTR strResponse,
[in] EncodingType Encoding,
[in, optional] BSTR strPassword,
[in] BSTR strEnrollmentPolicyServerUrl,
[in] BSTR strEnrollmentPolicyServerID,
[in] PolicyServerUrlFlags EnrollmentPolicyServerFlags,
[in] X509EnrollmentAuthFlags authFlags
);
Параметры
[in] Restrictions
Значение перечисления InstallResponseRestrictionFlags , указывающее тип сертификатов, которые можно установить. Это может быть одно или несколько из следующих значений.
Значение | Значение |
---|---|
|
Не устанавливайте недоверенные сертификаты или сертификаты, для которых нет соответствующего запроса. |
|
Создайте закрытый ключ из ответа сертификата, а не из фиктивного сертификата. Это делает фиктивный сертификат необязательным. Если это значение не задано, фиктивный сертификат должен существовать и из него извлекается закрытый ключ. |
|
Установите недоверенные конечные сущности и сертификаты центра сертификации . Сертификаты центра сертификации включают корневые и подчиненные сертификаты ЦС. Сертификаты конечных сущностей устанавливаются в личное хранилище, а сертификаты ЦС — в хранилище центра сертификации. |
|
Выполняет то же действие, что и флаг AllowUntrustedCertificate , но также устанавливает сертификат, даже если невозможно создать цепочку сертификатов, так как корневой каталог не является доверенным. Примечание В Windows Vista поведение этого флага совпадает с поведением, определенным для флага AllowUntrustedCertificate . Вы можете установить ненадежный корневой каталог, начиная с Windows Vista с пакетом обновления 1 (SP1).
|
[in] strResponse
Переменная BSTR , содержащая ответ в кодировке DER.
[in] Encoding
Значение перечисления EncodingType , указывающее тип кодировки, применяемой к строке, содержащей ответ в кодировке DER.
[in, optional] strPassword
Необязательный пароль для установки сертификата. Это значение может иметь значение NULL , чтобы указать, что пароль не используется. Завершив использование пароля, очистите его из памяти, вызвав функцию SecureZeroMemory . Дополнительные сведения о защите пароля см. в разделе Обработка паролей.
[in] strEnrollmentPolicyServerUrl
BSTR, содержащий URL-адрес сервера политики регистрации сертификатов (CEP).
[in] strEnrollmentPolicyServerID
BSTR, содержащий идентификатор сервера CEP.
[in] EnrollmentPolicyServerFlags
Значение перечисления PolicyServerUrlFlags . Это может быть одно из следующих значений.
[in] authFlags
Значение перечисления X509EnrollmentAuthFlags , указывающее тип проверки подлинности клиента. Для Windows 7 из следующих значений можно выбрать только X509AuthCertificate .
Возвращаемое значение
Если функция выполнена успешно, функция возвращает S_OK.
Если функция завершается сбоем, она возвращает значение HRESULT , указывающее на ошибку. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице. Список распространенных кодов ошибок см. в разделе Общие значения HRESULT.
Код возврата | Описание |
---|---|
|
Этот метод был вызван из Интернета, и в параметре Restrictions был указан параметр AllowNoOutstandingRequest или AllowUntrustedCertificate. |
|
Длина строки, содержащей пароль, превышает 64 килобайта. |
|
Объект регистрации не инициализирован. |
Комментарии
Метод InstallResponse2 :
- Извлекает фиктивный сертификат из внешнего хранилища.
- Извлекает сертификат, содержащийся в ответе, и устанавливает его на компьютере.
- Копирует свойства из фиктивного сертификата во внешнем хранилище в только что установленный сертификат в личном хранилище.
Перед вызовом метода InstallResponse2 необходимо инициализировать объект IX509Enrollment , вызвав один из следующих методов.
При вызове этого метода из Интернета в параметре Restrictions можно указать только AllowNone или AllowUntrustedRoot. Если указать AllowNoOutstandingRequest или AllowUntrustedCertificate, метод возвращает ошибку E_ACCESSDENIED .
Последние четыре параметра (strEnrollmentPolicyServerUrl, strEnrollmentPolicyServerID, EnrollmentPolicyServerFlags и authFlags) не включены в метод InstallResponse . Они позволяют добавлять значение свойства в установленный сертификат так же, как интерфейс ICertPropertyEnrollmentPolicyServer .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 7 [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 R2 [только классические приложения] |
Целевая платформа | Windows |
Header | certenroll.h |