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 訊息編碼。 |
|
指定 X.509 憑證編碼。 |
[in] dwSaveAs
指定如何儲存憑證存放區。
此參數可以是下列其中一個值。
值 | 意義 |
---|---|
|
憑證存放區可以儲存為不包含其他屬性的 PKCS #7 簽署訊息。 dwEncodingType參數會指定訊息編碼類型。 |
|
除了編碼的憑證、 憑證撤銷清單 (CRL) ,以及 憑證信任清單 (CCL) 之外,憑證存放區也可以儲存為包含屬性的序列化存放區。 會忽略 dwEncodingType參數。
注意CERT_KEY_CONTEXT_PROP_ID屬性和相關CERT_KEY_PROV_HANDLE_PROP_ID和CERT_KEY_SPEC_PROP_ID值不會儲存到序列化存放區。
|
[in] dwSaveTo
指定儲存憑證存放區的位置和方式。 此參數的內容會決定 pvSaveToPara 參數的格式。
此參數可以是下列其中一個值。
值 | 意義 |
---|---|
|
函式會將憑證存放區儲存至檔案。 pvSaveToPara參數包含先前使用CreateFile函式取得之檔案的控制碼。 檔案必須以寫入權限開啟。 成功儲存作業之後,檔案指標會放在上次寫入作業之後。 |
|
函式會將憑證存放區儲存至檔案。 pvSaveToPara參數包含 Null 終止 Unicode 字串的指標,其中包含要儲存的檔案路徑和檔案名。 函式會開啟檔案、儲存檔案,並加以關閉。 |
|
函式會將憑證存放區儲存至檔案。 pvSaveToPara參數包含 Null 終止 ANSI 字串的指標,其中包含要儲存的檔案路徑和檔案名。 函式會開啟檔案、儲存檔案,並加以關閉。 |
|
函式會將憑證存放區儲存至檔案。 pvSaveToPara參數包含 Null 終止 Unicode 字串的指標,其中包含要儲存的檔案路徑和檔案名。 函式會開啟檔案、儲存檔案,並加以關閉。 |
|
函式會將憑證存放區儲存至記憶體 BLOB。 pvSaveToPara參數包含CERT_BLOB結構的指標。 在使用之前,必須先初始化 CERT_BLOB的 pbData 和 cbData 成員。 傳回時, cbData 會以實際長度更新。 針對僅限長度的計算, pbData 必須設定為 Null。 如果 pbData 不是Null 且 cbData 不夠大,則函式會傳回零,最後一個錯誤碼為 ERROR_MORE_DATA。 |
[in, out] pvSaveToPara
指標,表示存放區應該儲存到何處。 此參數的內容取決於 dwSaveTo 參數的值。
[in] dwFlags
此參數保留供日後使用,且必須設定為零。
傳回值
如果函式成功,函式會傳回非零。
如果函式失敗,它會傳回零。 如需擴充錯誤資訊,請呼叫 GetLastError。
請注意, CreateFile 或 WriteFile 錯誤可以傳播至此函式。 其中一個可能的錯誤碼 是CRYPT_E_FILE_ERROR ,表示寫入檔案時發生錯誤。
規格需求
最低支援的用戶端 | Windows XP [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2003 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | wincrypt.h |
程式庫 | Crypt32.lib |
Dll | Crypt32.dll |