Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Метод InitializeFromPublicKeyTemplate инициализирует запрос на сертификат со знаком NULL с помощью объекта IX509PublicKey и шаблона.
Синтаксис
HRESULT InitializeFromPublicKeyTemplate(
[in] X509CertificateEnrollmentContext Context,
[in] IX509PublicKey *pPublicKey,
[in] IX509EnrollmentPolicyServer *pPolicyServer,
[in] IX509CertificateTemplate *pTemplate
);
Параметры
[in] Context
Значение перечисления X509CertificateEnrollmentContext , указывающее, предназначен ли запрошенный сертификат для конечного пользователя, компьютера или администратора, действующего от имени компьютера. Это может быть одно из следующих значений.
[in] pPublicKey
Указатель на интерфейс IX509PublicKey , представляющий открытый ключ.
[in] pPolicyServer
Указатель на объект IX509EnrollmentPolicyServer , представляющий сервер политики регистрации сертификатов (CEP), содержащий шаблон, заданный параметром pTemplate .
[in] pTemplate
Указатель на объект IX509CertificateTemplate , представляющий шаблон, используемый во время инициализации.
Возвращаемое значение
Если функция выполнена успешно, функция возвращает S_OK.
Если функция завершается ошибкой, она возвращает значение HRESULT , указывающее на ошибку. Возможные значения включают, но не ограничиваются ими в следующей таблице. Список распространенных кодов ошибок см. в разделе "Общие значения HRESULT".
| Возврат кода или значения | Description |
|---|---|
|
Параметры pPublicKey, pPolicyServer или pTemplate имеют значение NULL. |
|
Объект запроса сертификата уже инициализирован. |
Замечания
Метод InitializeFromPublicKeyTemplate выполняет следующие действия:
- Добавляет расширения, указанные в шаблоне, в коллекцию IX509Extensions .
- Создает коллекцию CriticalExtensions и заполняет ее идентификаторами объектов по умолчанию XCN_OID_KEY_USAGE и XCN_OID_BASIC_CONSTRAINTS2. Если шаблон указывает, что эти OID не являются критически важными, они удаляются из коллекции. Добавлены идентификаторы OID, помеченные шаблоном( если таковые имеются).
- Задает свойство SmimeCapabilities , если шаблон поддерживает симметричные алгоритмы.
- Задает свойство AlternateSignatureAlgorithm , если шаблону требуется дискретный алгоритм подписи OID.
- Создает объект IX509SignatureInformation .
- Создает OID хэш-алгоритма, если алгоритм указан в шаблоне и задает его в объекте IX509SignatureInformation .
- Создает OID асимметричного алгоритма шифрования, если алгоритм указан в шаблоне и задает его в объекте IX509SignatureInformation .
Если свойство CSPInformations не указано, метод создает коллекцию ICspInformations от поставщиков, установленных на компьютере.
Метод не создает закрытый ключ. Использование этого метода подразумевает, что запрос имеет значение NULL-подписи. Поэтому метод задает свойство NullSigned в объекте IX509SignatureInformation .
Требования
| Требование | Ценность |
|---|---|
| Минимальный поддерживаемый клиент | Windows 7 [только настольные приложения] |
| минимальный поддерживаемый сервер | Windows Server 2008 R2 [только классические приложения] |
| целевая платформа | Виндоус |
| Header | certenroll.h |