Метод IX509ExtensionKeyUsage::InitializeDecode (certenroll.h)

Метод InitializeDecode инициализирует расширение из массива байтов в Distinguished Encoding Rules (DER), содержащего значение расширения. Закодированный массив байтов представлен строкой в кодировке Юникод.

Синтаксис

HRESULT InitializeDecode(
  [in] EncodingType Encoding,
  [in] BSTR         strEncodedData
);

Параметры

[in] Encoding

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

[in] strEncodedData

Переменная BSTR , содержащая расширение в кодировке DER.

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

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

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

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

Комментарии

Этот метод можно использовать, если у вас есть объект в кодировке DER Abstract Syntax Notation One (ASN.1), содержащий расширение KeyUsage . Необходимо указать объект в кодировке DER в строке в кодировке Юникод. Дополнительные сведения см. в интерфейсе IBinaryConverter .

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

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

  • Свойство Critical определяет, является ли расширение критическим. Это свойство также можно указать.
  • Свойство ObjectId извлекает идентификатор объекта расширения (OID).
  • Свойство KeyUsage извлекает ограничения, определяющие предполагаемое использование открытого ключа (необработанные данные расширения).

Требования

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

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

IX509ExtensionKeyUsage