Метод 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 должен быть четным числом шестнадцатеричных цифр.
  • Пробелы между шестнадцатеричными парами игнорируются.
  • Параметр кодирования должен иметь значение XCN_CRYPT_STRING_HEXRAW.
  • Параметр MachineContext определяет, выполняется ли поиск пользователя или компьютера.
  • Если требуется закрытый ключ, поиск выполняется только в личных хранилищах и хранилищах запросов.
  • Если закрытый ключ не нужен, то в корневом и промежуточном хранилищах ЦС также выполняется поиск.

Возвращаемое значение

Если функция выполнена успешно, функция возвращает S_OK.

Если функция завершается ошибкой, она возвращает значение HRESULT , указывающее на ошибку. Возможные значения включают, но не ограничиваются ими в следующей таблице. Список распространенных кодов ошибок см. в разделе "Общие значения HRESULT".

Возврат кода или значения Description
CRYPT_E_NOT_FOUND
Не удалось найти сертификат.
CRYPT_E_UNEXPECTED_MSG_TYPE
Сертификат найден, но не удалось загрузить закрытый ключ.

Требования

Требование Ценность
Минимальный поддерживаемый клиент Windows Vista [только классические приложения]
минимальный поддерживаемый сервер Windows Server 2008 [только классические приложения]
целевая платформа Виндоус
Header certenroll.h
DLL CertEnroll.dll

См. также

ICertProperties

ICertProperty