Метод ICertProperty::SetValueOnCertificate (certenroll.h)
Метод SetValueOnCertificate связывает значение свойства с существующим сертификатом.
Синтаксис
HRESULT SetValueOnCertificate(
[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.
Возвращаемый код/значение | Описание |
---|---|
|
Не удалось найти сертификат. |
|
Сертификат найден, но не удалось загрузить закрытый ключ. |
Комментарии
Вызовите метод InitializeDecode или InitializeFromCertificate , чтобы создать значение свойства. Перед вызовом любого из методов необходимо сначала задать свойство PropertyId , чтобы указать, какое значение свойства следует инициализировать.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | certenroll.h |
DLL | CertEnroll.dll |