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
[out] pstrAlgorithmName
指向包含名称的 BSTR 变量的指针。
返回值
如果函数成功,该函数将返回 S_OK。
如果函数失败,它将返回指示错误的 HRESULT 值。 可能的值包括(但并不限于)下表中的项。 有关常见错误代码的列表,请参阅 常见 HRESULT 值。
返回代码/值 | 说明 |
---|---|
|
包含算法名称的字符串为空。 |
|
找不到算法名称。 在调用 GetAlgorithmName 之前,必须调用 InitializeFromAlgorithmName。 |
注解
可以使用 XCN_CRYPT_ENCRYPT_ALG_OID_GROUP_ID 常量创建 一个 GroupId 参数值,该值考虑可通过可变位长度标识的算法的密钥大小。 例如,若要从 192 位 AES 算法初始化 IObjectId 对象,请为 strAlgorithmName 参数指定“AES”,将左边的长度移 16,并对移位长度和 XCN_CRYPT_ENCRYPT_ALG_OID_GROUP_ID执行按位 OR 组合。
如果将 GroupId 参数设置为除XCN_CRYPT_PUBKEY_ALG_OID_GROUP_ID以外的任何值,请为 KeyFlags 参数指定XCN_CRYPT_OID_INFO_PUBKEY_ANY。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | certenroll.h |
DLL | CertEnroll.dll |