共用方式為


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
CERTSRV_E_PROPERTY_EMPTY
找不到演算法 OID。
OLE_E_BLANK
尚未初始化 CSP 資訊。 如需詳細資訊,請參閱 ICspInformation 介面。

備註

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

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平台 Windows
標頭 certenroll.h
Dll CertEnroll.dll

另請參閱

ICspAlgorithm