IX509AttributeArchiveKey::InitializeEncode 方法 (certenroll.h)

InitializeEncode 方法會從 IX509PrivateKey 對象、證書頒發機構單位加密憑證和對稱加密演算法物件標識元初始化屬性, (OID) 。

語法

HRESULT InitializeEncode(
  [in]           IX509PrivateKey *pKey,
  [in]           EncodingType    Encoding,
  [in]           BSTR            strCAXCert,
  [in, optional] IObjectId       *pAlgorithm,
  [in]           LONG            EncryptionStrength
);

參數

[in] pKey

代表金鑰之 IX509PrivateKey 介面的指標。

[in] Encoding

EncodingType 列舉值,指定套用至包含加密密鑰之輸入字串的 Unicode 編碼類型。

[in] strCAXCert

包含證書頒發機構單位加密憑證的 BSTR 變數,其中包含用來加密私鑰的 公鑰

從 Windows 7 和 Windows Server 2008 R2 開始,您可以指定憑證指紋或序號,而不是編碼的憑證。 這樣做會導致函式搜尋適當的本地存儲以尋找相符的憑證。 請記住下列幾點:

  • BSTR 必須是偶數十六進位數位。
  • 忽略十六進位組之間的空格符。
  • Encoding 參數必須設定為 XCN_CRYPT_STRING_HEXRAW
  • 只有個人和要求存放區會搜尋私鑰。

[in, optional] pAlgorithm

IObjectId 介面的指標,代表用來加密私鑰之對稱加密演算法的 OID。 這是選擇性參數。 如果您未提供 OID,則會使用三重 DES) XCN_OID_RSA_DES_EDE3_CBC (。

[in] EncryptionStrength

LONG 變數,其中包含 pAlgorithm 參數所識別之演算法的加密強度。 目前未使用此參數,因為憑證註冊 SDK 不支援 OID 尚未表示 (金鑰長度) 強度的任何演算法。 例如,AES 有多個強度,但每個強度都已經由 OID 表示。

傳回值

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

如果函式失敗,它會傳回 指出錯誤的 HRESULT 值。 如需常見錯誤碼的清單,請參閱 一般 HRESULT 值

備註

此屬性的物件標識碼 XCN_OID_ARCHIVED_KEY_ATTR (1.3.6.1.4.1.311.21.13) 。 如需詳細資訊,請參閱 CERTENROLL_OBJECTID

您必須先呼叫 InitializeEncodeInitializeDecode ,才能使用 IX509AttributeArchiveKey 物件。 這兩種方法彼此互補。 InitializeEncode 方法可讓您從原始數據建構編碼的抽象語法表示法一 (ASN.1) 結構,而 InitializeDecode 方法可讓您從編碼的 ASN.1 結構初始化原始數據。 您可以呼叫下列屬性來擷取原始資料:

規格需求

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

另請參閱

IX509AttributeArchiveKey