Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Метод InstallResponse устанавливает цепочку сертификатов на компьютере конечной сущности. Массив байтов, содержащий ответ, кодируется с помощью различающихся правил кодирования (DER), определенных стандартом абстрактного синтаксиса нотации one (ASN.1). Необходимо указать массив байтов в кодировке DER в строке, которая является чистой двоичной последовательностью или закодирована в Юникоде. Этот метод включен в Интернете.
Синтаксис
HRESULT InstallResponse(
[in] InstallResponseRestrictionFlags Restrictions,
[in] BSTR strResponse,
[in] EncodingType Encoding,
[in, optional] BSTR strPassword
);
Параметры
[in] Restrictions
Значение перечисления InstallResponseRestrictionFlags , указывающее тип сертификатов, которые можно установить. Это может быть одно или несколько следующих значений.
| Ценность | Meaning |
|---|---|
|
Не устанавливайте ненадежные сертификаты или сертификаты, для которых нет соответствующего запроса. |
|
Создайте закрытый ключ из ответа сертификата, а не из фиктивного сертификата. Это делает фиктивный сертификат необязательным. Если это значение не задано, фиктивный сертификат должен существовать, а закрытый ключ извлекается из него. |
|
Установите ненадежные конечные сущности и сертификаты центра сертификации . Сертификаты центра сертификации включают корневые и подчиненные сертификаты ЦС. Сертификаты конечных сущностей устанавливаются в личное хранилище, а сертификаты ЦС устанавливаются в хранилище центра сертификации. |
|
Выполните то же действие, что и флаг AllowUntrustedCertificate , но и устанавливает сертификат, даже если цепочка сертификатов не может быть создана, так как корневой каталог не является доверенным.
Заметка В Windows Vista поведение этого флага совпадает с тем, что определено для флага AllowUntrustedCertificate . Начиная с Windows Vista с пакетом обновления 1 (SP1), вы можете установить сертификат, который объединяется с ненадежным корнем.
|
[in] strResponse
Переменная BSTR , содержащая ответ в кодировке DER.
[in] Encoding
Значение перечисления EncodeType , указывающее тип кодировки, примененный к строке, содержащей ответ в кодировке DER.
[in, optional] strPassword
Необязательный пароль для установки сертификата. Это может быть NULL или пустая строка, указывающая, что пароль не используется. Если есть пароль, снимите его из памяти после завершения использования, вызвав функцию SecureZeroMemory . Дополнительные сведения о защите пароля см. в разделе "Обработка паролей".
Начиная с Windows 8 и Windows Server 2012, пароль NULL или пустой пароль может означать, что пакет PFX был создан в функции PFXExportCertStoreEx с помощью флага PKCS12_PROTECT_TO_DOMAIN_SIDS . Если да, PFX был зашифрован в группе Active Directory. Дополнительные сведения см. в разделе PFXExportCertStoreEx и PFXImportCertStore.
Возвращаемое значение
Если функция выполнена успешно, функция возвращает S_OK.
Если функция завершается ошибкой, она возвращает значение HRESULT , указывающее на ошибку. Возможные значения включают, но не ограничиваются ими в следующей таблице. Список распространенных кодов ошибок см. в разделе "Общие значения HRESULT".
| Код возврата | Description |
|---|---|
|
Этот метод был вызван из Интернета, и в параметре Restrictions был указан параметр AllowNoOutstandingRequest или AllowUntrustedCertificate. |
|
Длина строки, содержащей пароль, превышает 64 килобайта. |
|
Объект регистрации не инициализирован. |
Замечания
Метод InstallResponse :
- Извлекает фиктивный сертификат из внешнего хранилища.
- Извлекает сертификат, содержащийся в ответе, и устанавливает его на компьютере.
- Копирует свойства из фиктивного сертификата во внешнем хранилище в только что установленный сертификат в личном хранилище.
Перед вызовом метода InstallResponse необходимо инициализировать объект IX509Enrollment , вызвав один из следующих методов.
При вызове этого метода из Интернета можно указать только AllowNone или AllowUntrustedRoot в параметре Restrictions . Если указать AllowNoOutstandingRequest или AllowUntrustedCertificate, метод возвращает ошибку E_ACCESSDENIED .
Требования
| Требование | Ценность |
|---|---|
| Минимальный поддерживаемый клиент | Windows Vista [только классические приложения] |
| минимальный поддерживаемый сервер | Windows Server 2008 [только классические приложения] |
| целевая платформа | Виндоус |
| Header | certenroll.h |
| DLL | CertEnroll.dll |