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

Метод InitializeEncode инициализирует расширение с помощью перечисления X509KeyUsageFlags . Этот метод включен через Интернет.

Синтаксис

HRESULT InitializeEncode(
  [in] X509KeyUsageFlags UsageFlags
);

Параметры

[in] UsageFlags

Значение перечисления X509KeyUsageFlags . Это может быть побитовое или сочетание любого из следующих значений.

Значение Значение
XCN_CERT_DIGITAL_SIGNATURE_KEY_USAGE
Ключ используется вместе с алгоритмом цифровой подписи (DSA) для поддержки служб, отличных от подписи невозврата, подписывания сертификатов или подписывания списка отзыва. DsA часто используются для проверки подлинности.
XCN_CERT_NON_REPUDIATION_KEY_USAGE
Ключ используется для проверки цифровой подписи в рамках службы невоспровержения, которая защищает от ложного отказа в действиях со стороны сущности подписывания.
XCN_CERT_KEY_ENCIPHERMENT_KEY_USAGE
Ключ используется для передачи ключа. То есть ключ используется для управления ключом, передаваемым от точки его возникновения до точки фактического использования.
XCN_CERT_DATA_ENCIPHERMENT_KEY_USAGE
Ключ используется для шифрования данных пользователя, отличных от криптографических ключей.
XCN_CERT_KEY_AGREEMENT_KEY_USAGE
Ключ используется для согласования ключа. Соглашение о ключах или протокол обмена ключами позволяет двум или более сторонам согласовывать значение ключа без передачи ключа и без предварительного создания общего секрета.
XCN_CERT_KEY_CERT_SIGN_KEY_USAGE
Ключ используется для проверки подписи сертификата. Это значение можно использовать только для сертификатов, выданных центрами сертификации.
XCN_CERT_OFFLINE_CRL_SIGN_KEY_USAGE
Ключ используется для проверки подписи автономного списка отзыва сертификатов (CRL).
XCN_CERT_CRL_SIGN_KEY_USAGE
Ключ используется для проверки подписи списка отзыва сертификатов.
XCN_CERT_ENCIPHER_ONLY_KEY_USAGE
Ключ используется для шифрования данных при выполнении соглашения ключа. Также необходимо указать значение XCN_CERT_KEY_AGREEMENT_KEY_USAGE .
XCN_CERT_DECIPHER_ONLY_KEY_USAGE
Ключ используется для расшифровки данных при выполнении соглашения ключа. Также необходимо указать значение XCN_CERT_KEY_AGREEMENT_KEY_USAGE .

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

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

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

Код возврата Описание
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)
Объект уже инициализирован.

Комментарии

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

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

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

Требования

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

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

IX509ExtensionKeyUsage