ICspAlgorithm::GetAlgorithmOid 方法 (certenroll.h)
GetAlgorithmOid 方法會擷取 OID) (演演算法物件標識碼。 此方法已啟用 Web。
語法
HRESULT GetAlgorithmOid(
[in] LONG Length,
[in] AlgorithmFlags AlgFlags,
[out] IObjectId **ppValue
);
參數
[in] Length
LONG 變數,可識別對稱加密演算法的必要密鑰大小。 使用此參數從密碼編譯 API 擷取特定的 AES 演演算法:新一代 (CNG) 金鑰儲存提供者, (KSP) 。 KSP 可能只列出一個名為 AES 的演算法,但支援下列清單中的所有 AES 變體:
- szOID_NIST_AES128_CBC (2.16.840.1.101.3.4.1.2)
- szOID_NIST_AES192_CBC (2.16.840.1.101.3.4.1.22)
- szOID_NIST_AES256_CBC (2.16.840.1.101.3.4.1.42)
- szOID_NIST_AES128_WRAP (2.16.840.1.101.3.4.1.5)
- szOID_NIST_AES192_WRAP (2.16.840.1.101.3.4.1.25)
- szOID_NIST_AES256_WRAP (2.16.840.1.101.3.4.1.45)
如果您為 AlgFlags 參數指定零,而 AlgorithmFlagsNone (0x00000000) ,則會擷取與預設演算法相關聯的 OID。 對於 Microsoft 軟體 KSP 和 Microsoft 智慧卡 KSP,預設的 AES 演算法會szOID_NIST_AES128_CBC (2.16.840.1.1.101.3.4.1.2) 。
[in] AlgFlags
AlgorithmFlags 列舉值,指定是否要搜尋密鑰包裝演算法。 這個值可以是下列其中一個值:
- AlgorithmFlagsNone
- AlgorithmFlagsWrap
指定 AlgorithmFlagsWrap 會導致這個方法搜尋顯示名稱結尾為 「wrap」 的演算法。 這包括下列 OID:
- szOID_NIST_AES128_WRAP (2.16.840.1.101.3.4.1.5)
- szOID_NIST_AES192_WRAP (2.16.840.1.101.3.4.1.25)
- szOID_NIST_AES256_WRAP (2.16.840.1.101.3.4.1.45)
- XCN_OID_RSA_SMIMEalgCMS3DESwrap (1.2.840.113549.1.9.16.3.6)
- XCN_OID_RSA_SMIMEalgCMSRC2wrap (1.2.840.113549.1.9.16.3.7)
如果您為 AlgFlags 參數指定零,而 AlgorithmFlagsNone (0x00000000) ,則會擷取與預設演算法相關聯的 OID。 對於 Microsoft 軟體 KSP 和 Microsoft 智慧卡 KSP,預設的 AES 演算法會szOID_NIST_AES128_CBC (2.16.840.1.1.101.3.4.1.2) 。
[out] ppValue
接收代表演算法 OID 之 IObjectId 介面指標的變數位址。
傳回值
如果函式成功,函式會傳回 S_OK。
如果函式失敗,它會傳回 指出錯誤的 HRESULT 值。 可能的值包括 (但不限於) 下表中的這些值。 如需常見錯誤碼的清單,請參閱 一般 HRESULT 值。
傳回碼/值 | Description |
---|---|
|
找不到演算法 OID。 |
|
尚未初始化 CSP 資訊。 如需詳細資訊,請參閱 ICspInformation 介面。 |
備註
您必須先在 ICspInformation 介面上呼叫 InitializeFromName 方法或 InitializeFromType 方法,才能呼叫 GetAlgorithmOid。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | certenroll.h |
Dll | CertEnroll.dll |