共用方式為


ICspAlgorithm::GetAlgorithmOid 方法(certenroll.h)

GetAlgorithmOid 方法會取得演算法物件識別碼(OID)。 此方法已啟用 Web。

語法

HRESULT GetAlgorithmOid(
  [in]  LONG           Length,
  [in]  AlgorithmFlags AlgFlags,
  [out] IObjectId      **ppValue
);

參數

[in] Length

一個 LONG 變數,用來識別對稱加密演算法所需的金鑰大小。 使用此參數可從密碼學 API:下一代(CNG)金鑰儲存提供者(KSP)中擷取特定 AES 演算法。 一個 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)

如果你將 Length 參數設為零,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 是列舉值,指定是否要搜尋金鑰包裝演算法。 這可以是下列其中一個值:

  • 演算法旗標無
  • 演算法旗標包裝

指定 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)

如果你將 Length 參數設為零,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
CERTSRV_E_PROPERTY_EMPTY
未找到 OID 演算法。
OLE_E_BLANK
CSP 資訊尚未初始化。 欲了解更多資訊,請參閱 ICspInformation 介面。

備註

你必須在 ICspInformation 介面上呼叫 InitializeFromName 方法或 InitializeFromType 方法,才能呼叫 GetAlgorithmOid

需求

Requirement 價值觀
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
支援的最低伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平臺 窗戶
Header certenroll.h
DLL CertEnroll.dll

另請參閱

ICspAlgorithm