Метод IObjectId::GetAlgorithmName (certenroll.h)

Метод GetAlgorithmName извлекает отображаемое имя, связанное с идентификатором объекта алгоритма (OID).

Синтаксис

HRESULT GetAlgorithmName(
  [in]  ObjectIdGroupId        GroupId,
  [in]  ObjectIdPublicKeyFlags KeyFlags,
  [out] BSTR                   *pstrAlgorithmName
);

Параметры

[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_ANY
  • XCN_CRYPT_OID_INFO_PUBKEY_SIGN_KEY_FLAG
  • XCN_CRYPT_OID_INFO_PUBKEY_ENCRYPT_KEY_FLAG
Вы можете использовать одно из последних двух значений для диамбигуации между алгоритмами, такими как RSA, которые можно использовать для шифрования и подписывания сообщений. Необходимо также указать XCN_CRYPT_PUBKEY_ALG_OID_GROUP_ID в параметре GroupId . Укажите XCN_CRYPT_OID_INFO_PUBKEY_ANY , если для параметра GroupId задано значение, отличное от XCN_CRYPT_PUBKEY_ALG_OID_GROUP_ID.

[out] pstrAlgorithmName

Указатель на переменную BSTR , содержащую имя.

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

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

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

Возврат кода или значения Description
CERTSRV_E_PROPERTY_EMPTY
Строка, содержащая имя алгоритма, пуста.
OLE_E_BLANK
Не удалось найти имя алгоритма. Перед вызовом GetAlgorithmName необходимо вызвать InitializeFromAlgorithmName.

Замечания

Константу XCN_CRYPT_ENCRYPT_ALG_OID_GROUP_ID можно использовать для создания значения параметра GroupId , которое учитывает размер ключа для алгоритмов, которые можно определить по переменной битовой длине. Например, чтобы инициализировать объект IObjectId из 192-разрядного алгоритма AES, укажите AES для параметра strAlgorithmName , переместите длину влево на 16 и выполните побитовую комбинацию по битовой длине и XCN_CRYPT_ENCRYPT_ALG_OID_GROUP_ID.

Если для параметра GroupId задано значение, отличное от XCN_CRYPT_PUBKEY_ALG_OID_GROUP_ID, укажите XCN_CRYPT_OID_INFO_PUBKEY_ANY для параметра KeyFlags .

Требования

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

См. также

IObjectId