CertSaveStore 函式 (wincrypt.h)

CertSaveStore函式會將憑證存放區儲存至檔案或記憶體BLOB

語法

BOOL CertSaveStore(
  [in]      HCERTSTORE hCertStore,
  [in]      DWORD      dwEncodingType,
  [in]      DWORD      dwSaveAs,
  [in]      DWORD      dwSaveTo,
  [in, out] void       *pvSaveToPara,
  [in]      DWORD      dwFlags
);

參數

[in] hCertStore

要儲存之憑證存放區的控制碼。

[in] dwEncodingType

指定憑證編碼類型和訊息編碼類型。 只有在 dwSaveAs 包含 CERT_STORE_SAVE_AS_PKCS7時,才會使用編碼。 否則,不會使用 dwMsgAndCertEncodingType 參數。

此參數可以是下列一或多個值的組合。

意義
PKCS_7_ASN_ENCODING
65536 (0x10000)
指定 PKCS 7 訊息編碼。
X509_ASN_ENCODING
1 (0x1)
指定 X.509 憑證編碼。

[in] dwSaveAs

指定如何儲存憑證存放區。

此參數可以是下列其中一個值。

意義
CERT_STORE_SAVE_AS_PKCS7
2
憑證存放區可以儲存為不包含其他屬性的 PKCS #7 簽署訊息。 dwEncodingType參數會指定訊息編碼類型。
CERT_STORE_SAVE_AS_STORE
1
除了編碼的憑證、 憑證撤銷清單 (CRL) ,以及 憑證信任清單 (CCL) 之外,憑證存放區也可以儲存為包含屬性的序列化存放區。 會忽略 dwEncodingType參數。
注意CERT_KEY_CONTEXT_PROP_ID屬性和相關CERT_KEY_PROV_HANDLE_PROP_IDCERT_KEY_SPEC_PROP_ID值不會儲存到序列化存放區。
 

[in] dwSaveTo

指定儲存憑證存放區的位置和方式。 此參數的內容會決定 pvSaveToPara 參數的格式。

此參數可以是下列其中一個值。

意義
CERT_STORE_SAVE_TO_FILE
1
函式會將憑證存放區儲存至檔案。 pvSaveToPara參數包含先前使用CreateFile函式取得之檔案的控制碼。 檔案必須以寫入權限開啟。 成功儲存作業之後,檔案指標會放在上次寫入作業之後。
CERT_STORE_SAVE_TO_FILENAME
4
函式會將憑證存放區儲存至檔案。 pvSaveToPara參數包含 Null 終止 Unicode 字串的指標,其中包含要儲存的檔案路徑和檔案名。 函式會開啟檔案、儲存檔案,並加以關閉。
CERT_STORE_SAVE_TO_FILENAME_A
3
函式會將憑證存放區儲存至檔案。 pvSaveToPara參數包含 Null 終止 ANSI 字串的指標,其中包含要儲存的檔案路徑和檔案名。 函式會開啟檔案、儲存檔案,並加以關閉。
CERT_STORE_SAVE_TO_FILENAME_W
4
函式會將憑證存放區儲存至檔案。 pvSaveToPara參數包含 Null 終止 Unicode 字串的指標,其中包含要儲存的檔案路徑和檔案名。 函式會開啟檔案、儲存檔案,並加以關閉。
CERT_STORE_SAVE_TO_MEMORY
2
函式會將憑證存放區儲存至記憶體 BLOB。 pvSaveToPara參數包含CERT_BLOB結構的指標。 在使用之前,必須先初始化 CERT_BLOBpbDatacbData 成員。 傳回時, cbData 會以實際長度更新。 針對僅限長度的計算, pbData 必須設定為 Null。 如果 pbData 不是NullcbData 不夠大,則函式會傳回零,最後一個錯誤碼為 ERROR_MORE_DATA

[in, out] pvSaveToPara

指標,表示存放區應該儲存到何處。 此參數的內容取決於 dwSaveTo 參數的值。

[in] dwFlags

此參數保留供日後使用,且必須設定為零。

傳回值

如果函式成功,函式會傳回非零。

如果函式失敗,它會傳回零。 如需擴充錯誤資訊,請呼叫 GetLastError

請注意, CreateFileWriteFile 錯誤可以傳播至此函式。 其中一個可能的錯誤碼 是CRYPT_E_FILE_ERROR ,表示寫入檔案時發生錯誤。

規格需求

   
最低支援的用戶端 Windows XP [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2003 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 wincrypt.h
程式庫 Crypt32.lib
Dll Crypt32.dll

另請參閱

CertCloseStore

CertOpenStore

憑證存放區函式

CreateFile

WriteFile