Метод IX509AttributeRenewalCertificate::InitializeEncode (certenroll.h)
Метод InitializeEncode инициализирует атрибут с помощью обновляемого сертификата. Сертификат должен быть закодирован с помощью Distinguished Encoding Rules (DER).
Синтаксис
HRESULT InitializeEncode(
[in] EncodingType Encoding,
[in] BSTR strCert
);
Параметры
[in] Encoding
Значение перечисления EncodingType , указывающее тип кодировки Юникода, применяемой к сертификату, содержательному в параметре strCert .
[in] strCert
Переменная BSTR , содержащая сертификат в кодировке DER.
Начиная с Windows 7 и Windows Server 2008 R2, вы можете указать печать или серийный номер сертификата, а не закодированный сертификат. Это приводит к тому, что функция выполняет поиск соответствующего сертификата в соответствующих локальных хранилищах. Помните на следующие моменты.
- BSTR должно быть четным числом шестнадцатеричных цифр.
- Пробелы между шестнадцатеричными парами игнорируются.
- Параметр Encoding должен иметь значение XCN_CRYPT_STRING_HEXRAW.
- Если требуется закрытый ключ, выполняется поиск только в личных хранилищах и хранилищах запросов.
- Если закрытый ключ не требуется, выполняется поиск в корневом и промежуточном хранилищах ЦС.
Возвращаемое значение
Если функция завершается успешно, функция возвращает S_OK.
Если функция завершается сбоем, она возвращает значение HRESULT , указывающее на ошибку. Список распространенных кодов ошибок см. в разделе Общие значения HRESULT.
Комментарии
Идентификатор объекта (OID) для этого атрибута — XCN_OID_RENEWAL_CERTIFICATE (1.3.6.1.4.1.311.13.1). Дополнительные сведения см. в разделе CERTENROLL_OBJECTID.
Перед использованием объекта IX509AttributeRenewalCertificate необходимо вызвать Метод InitializeEncode или InitializeDecode. Эти два метода дополняют друг друга. Метод InitializeEncode позволяет создать закодированную структуру Abstract Syntax Notation One (ASN.1) из необработанных данных, а метод InitializeDecode позволяет инициализировать необработанные данные из закодированной структуры ASN.1. Для получения необработанных данных можно вызвать свойство RenewalCertificate .
Требования
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | certenroll.h |
DLL | CertEnroll.dll |