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