Поделиться через


Метод IX509ExtensionAuthorityKeyIdentifier::InitializeEncode (certenroll.h)

Метод InitializeEncode инициализирует расширение из массива байтов. Массив байтов представлен строкой в кодировке Юникод.

Синтаксис

HRESULT InitializeEncode(
  [in] EncodingType Encoding,
  [in] BSTR         strKeyIdentifier
);

Параметры

[in] Encoding

Значение перечисления EncodingType , указывающее тип кодировки Юникода, применяемого к значению strKeyIdentifier .

[in] strKeyIdentifier

Переменная BSTR , содержащая значение расширения.

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

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

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

Возвращаемый код или значение Описание
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)
Объект уже инициализирован.

Комментарии

Как правило, входное значение должно быть хэшом SHA-1 открытого ключа , содержащегося в сертификате подписи. Метод связывает значение с идентификатором объекта (OID) XCN_OID_AUTHORITY_KEY_IDENTIFIER2 (2.5.29.35) и кодирует его с помощью Distinguished Encoding Rules (DER).

Прежде чем использовать объект IX509ExtensionAuthorityKeyIdentifier, необходимо вызвать InitializeEncode или InitializeDecode. Эти два метода дополняют друг друга. Метод InitializeEncode позволяет создать объект расширения Абстрактная синтаксическая нотация 1 (ASN.1) в кодировке DER из необработанных данных, а метод InitializeDecode позволяет инициализировать необработанные данные из закодированного объекта.

Для этого расширения можно получить следующие свойства:

  • Свойство Critical определяет, является ли расширение критическим. Это свойство также можно указать.
  • Свойство ObjectId извлекает OID.
  • Свойство AuthorityKeyIdentifier извлекает необработанные данные.

Требования

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

См. также раздел

IX509ExtensionAuthorityKeyIdentifier