Метод ISignerCertificate::Initialize (certenroll.h)
Метод Initialize инициализирует объект из сертификата подписи.
Синтаксис
HRESULT Initialize(
[in] VARIANT_BOOL MachineContext,
[in] X509PrivateKeyVerify VerifyType,
[in] EncodingType Encoding,
[in] BSTR strCertificate
);
Параметры
[in] MachineContext
Переменная VARIANT_BOOL , указывающая, следует ли выполнять поиск в контексте хранилища сертификатов локального компьютера или контексте пользователя, чтобы найти сертификат, определенный параметром strCertificate . Укажите VARIANT_TRUE для компьютера и VARIANT_FALSE для пользователя.
[in] VerifyType
Значение перечисления X509PrivateKeyVerify , указывающее, нужно ли проверять закрытый ключ, используемый для подписи сертификата, и, если да, должна ли проверка выполняться без уведомления или разрешать ввод данных пользователем.
[in] Encoding
Значение перечисления EncodingType, указывающее тип кодировки Юникода, применяемой к строке сертификата в кодировке Distinguished Encoding Rules (DER).
[in] strCertificate
Переменная BSTR , содержащая сертификат в кодировке DER.
Начиная с Windows 7 и Windows Server 2008 R2, вы можете указать печатный или серийный номер сертификата, а не закодированный сертификат. Это приводит к тому, что функция будет выполнять поиск соответствующего сертификата в соответствующих локальных хранилищах. Помните на следующие моменты.
- BSTR должно быть четным числом шестнадцатеричных цифр.
- Пробелы между шестнадцатеричными парами игнорируются.
- Параметр Encoding должен иметь значение XCN_CRYPT_STRING_HEXRAW.
- Параметр MachineContext определяет, выполняется ли поиск в хранилищах пользователя или компьютера.
- Если требуется закрытый ключ, выполняется поиск только в личном хранилище и хранилище запросов.
- Если закрытый ключ не требуется, выполняется поиск в корневом и промежуточном хранилищах ЦС.
Возвращаемое значение
Если функция выполнена успешно, функция возвращает S_OK.
Если функция завершается сбоем, она возвращает значение HRESULT , указывающее на ошибку. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице. Список распространенных кодов ошибок см. в разделе Общие значения HRESULT.
Возвращаемый код или значение | Описание |
---|---|
|
Объект ISignerCertificate уже инициализирован. |
Комментарии
Метод Initialize :
- Проверяет, существует ли закрытый ключ, связанный с сертификатом.
- Создает объект IX509SignatureInformation и назначает его объекту ISignerCertificate .
- Извлекает алгоритм открытого ключа из закрытого ключа.
- Назначает алгоритм открытого ключа объекту IX509SignatureInformation .
Перед вызовом Initialize задайте следующие свойства:
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | certenroll.h |
DLL | CertEnroll.dll |