共用方式為


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。 您也必須在 GroupId 參數中指定XCN_CRYPT_PUBKEY_ALG_OID_GROUP_ID。 如果您將 GroupId 參數設定為XCN_CRYPT_PUBKEY_ALG_OID_GROUP_ID以外的任何參數,請指定XCN_CRYPT_OID_INFO_PUBKEY_ANY

[out] pstrAlgorithmName

包含名稱的 BSTR 變數指標。

傳回值

如果函式成功,函式會傳回 S_OK

如果函式失敗,它會傳回 HRESULT 值,指出錯誤。 可能的值包括 (但不限於) 下表中的這些值。 如需常見錯誤碼的清單,請參閱 一般 HRESULT 值

傳回碼/值 Description
CERTSRV_E_PROPERTY_EMPTY
包含演算法名稱的字串是空的。
OLE_E_BLANK
找不到演算法名稱。 您必須先呼叫 InitializeFromAlgorithmName ,才能呼叫 GetAlgorithmName

備註

您可以使用 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

另請參閱

IObjectId