IObjectId::InitializeFromAlgorithmName 方法 (certenroll.h)
InitializeFromAlgorithmName 方法會從演算法名稱或物件識別元初始化物件。 這個方法主要是為了讓您從密碼編譯 API 初始化物件:新一代 (CNG) 演演算法名稱。 不過,您可以指定任何 OID 名稱。 此方法已啟用 Web。
語法
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 值。
傳回碼/值 | Description |
---|---|
|
找不到 OID 資訊。 |
|
無法辨識演算法名稱。 |
|
對象已經初始化。 |
備註
您可以使用 GroupId 參數的上限 16 位來指定接受可變位長度之演算法的金鑰大小。 例如,若要從 192 位 AES 演算法初始化 IObjectId 物件,請為 strAlgorithmName 參數指定 “AES”,將長度向左移 16,然後在移位位長度和 GroupId 值上執行位 OR 組合。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | certenroll.h |
Dll | CertEnroll.dll |