Метод IObjectId::InitializeFromAlgorithmName (certenroll.h)
Метод InitializeFromAlgorithmName инициализирует объект из имени алгоритма или идентификатора объекта. Этот метод предоставляется в основном для инициализации объекта из API шифрования: имя алгоритма следующего поколения (CNG). Однако можно указать любое имя OID. Этот метод включен через Интернет.
Синтаксис
HRESULT InitializeFromAlgorithmName(
[in] ObjectIdGroupId GroupId,
[in] ObjectIdPublicKeyFlags KeyFlags,
[in] AlgorithmFlags AlgFlags,
[in] BSTR strAlgorithmName
);
Параметры
[in] GroupId
Значение перечисления ObjectIdGroupId , указывающее группу OID для поиска. Это может быть любая из следующих групп алгоритмов:
- XCN_CRYPT_HASH_ALG_OID_GROUP_ID
- XCN_CRYPT_ENCRYPT_ALG_OID_GROUP_ID
- XCN_CRYPT_PUBKEY_ALG_OID_GROUP_ID
- XCN_CRYPT_SIGN_ALG_OID_GROUP_ID
- XCN_CRYPT_RDN_ATTR_OID_GROUP_ID
- XCN_CRYPT_EXT_OR_ATTR_OID_GROUP_ID
- XCN_CRYPT_ENHKEY_USAGE_OID_GROUP_ID
- XCN_CRYPT_POLICY_OID_GROUP_ID
- XCN_CRYPT_TEMPLATE_OID_GROUP_ID
[in] KeyFlags
Значение перечисления ObjectIdPublicKeyFlags , указывающее, следует ли искать алгоритм подписывания или шифрования. Может иметь одно из следующих значений:
- XCN_CRYPT_OID_INFO_PUBKEY_SIGN_KEY_FLAG
- XCN_CRYPT_OID_INFO_PUBKEY_ENCRYPT_KEY_FLAG
[in] AlgFlags
Значение перечисления AlgorithmFlags . Может иметь одно из следующих значений:
- AlgorithmFlagsNone
- AlgorithmFlagsWrap
[in] strAlgorithmName
Переменная BSTR , содержащая имя. Имя или OID можно указать в десятичном формате с точками. Метод проверяет, соответствует ли формат стандарту ASN.1 X.208. Дополнительные сведения об именах алгоритмов CNG см. в разделе Идентификаторы алгоритмов CNG.
Возвращаемое значение
Если функция завершается успешно, функция возвращает S_OK.
Если функция завершается сбоем, она возвращает значение HRESULT , указывающее на ошибку. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице. Список распространенных кодов ошибок см. в разделе Общие значения HRESULT.
Возвращаемый код/значение | Описание |
---|---|
|
Не удалось найти сведения об идентификаторе идентификатора. |
|
Имя алгоритма не распознано. |
|
Объект уже инициализирован. |
Комментарии
Можно использовать верхние 16 бит параметра GroupId , чтобы указать размер ключа для алгоритмов, которые принимают переменную битовую длину. Например, чтобы инициализировать объект IObjectId из 192-разрядного алгоритма AES, укажите "AES" для параметра strAlgorithmName , сместите длину влево на 16 и выполните побитовое сочетание или для смещенной длины бита и значения GroupId .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | certenroll.h |
DLL | CertEnroll.dll |