Share via


IX509Enrollment::CreatePFX 方法 (certenroll.h)

CreatePFX 方法會建立個人資訊交換 (PFX) 訊息。 訊息包含在位元組陣列中,該數位使用 可辨別編碼規則 ( DER) 編碼,如抽象語法表示法一 (ASN.1) 標準所定義。 DER 編碼位元組陣組是由純二進位序列或 Unicode 編碼的字串來表示。

語法

HRESULT CreatePFX(
  [in]  BSTR             strPassword,
  [in]  PFXExportOptions ExportOptions,
  [in]  EncodingType     Encoding,
  [out] BSTR             *pValue
);

參數

[in] strPassword

包含 PFX 訊息密碼的 BSTR 變數。 這可以是 NULL ,表示未使用任何密碼。 當您完成使用密碼時,請呼叫 SecureZeroMemory 函式,從記憶體中清除密碼。 如需保護密碼的詳細資訊,請參閱 處理密碼

[in] ExportOptions

PFXExportOptions 列舉值,指定匯出多少憑證鏈結。 您只能匯出憑證、沒有根目錄的憑證鏈結或整個鏈結。

[in] Encoding

EncodingType 列舉值,指定套用至 DER 編碼訊息的 Unicode 編碼類型。 預設值 為 XCN_CRYPT_STRING_BASE64

[out] pValue

包含 DER 編碼 PFX 訊息的 BSTR 變數指標。

傳回值

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

如果函式失敗,它會傳回 指出錯誤的 HRESULT 值。 可能的值包括 (但不限於) 下表中的這些值。 如需常見錯誤碼的清單,請參閱 一般 HRESULT 值

傳回碼/值 Description
CERTSRV_E_PROPERTY_EMPTY
找不到憑證。
HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND)
找不到憑證鏈結。
OLE_E_BLANK
尚未初始化註冊物件。

備註

PFX 格式也稱為 PKCS #12。 CreatePFX 方法:

  • 在預設提供者的記憶體中開啟證書存儲。
  • 將已安裝的憑證新增至存放區,或建置憑證鏈結會新增其連結。
  • 根據指定的導出選項,將憑證和私鑰導出至 PFX 訊息。
  • 使用 DER 編碼導出的訊息。

呼叫這個方法之前,您必須呼叫下列其中一種方法來初始化 IX509Enrollment 物件。

此外,您必須從 Enroll 方法成功傳回。

規格需求

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

另請參閱

IX509Enrollment