CertAddCRLCoNtextToStore 函式 (wincrypt.h)

CertAddCRLCoNtextToStore函式會將憑證撤銷清單 (CRL) 內容新增至指定的憑證存放區

語法

BOOL CertAddCRLContextToStore(
  [in]            HCERTSTORE    hCertStore,
  [in]            PCCRL_CONTEXT pCrlContext,
  [in]            DWORD         dwAddDisposition,
  [out, optional] PCCRL_CONTEXT *ppStoreContext
);

參數

[in] hCertStore

憑證存放區的控制碼。

[in] pCrlContext

要加入 之CRL_CONTEXT 結構的指標。

[in] dwAddDisposition

指定當相符 CRL 或相符 CRL 的連結已存在於存放區中時,要採取的動作。 目前定義的處置值及其用途如下。

意義
CERT_STORE_ADD_ALWAYS
不檢查現有的相符 CRL 或與相符 CRL 的連結。 新的 CRL 一律會新增至存放區。 這可能會導致存放區中的重複專案。
CERT_STORE_ADD_NEW
如果相符的 CRL 或相符 CRL 的連結存在,作業就會失敗。 GetLastError 會傳回CRYPT_E_EXISTS程式碼。
CERT_STORE_ADD_NEWER
如果相符的 CRL 或相符 CRL 的連結存在,此函式會比較 CRL 上的 ThisUpdate 時間。 如果現有的 CRL 的 ThisUpdate 時間小於新 CRL 上的 ThisUpdate 時間,舊的 CRL 或連結會取代為與CERT_STORE_ADD_REPLACE_EXISTING相同。 如果現有的 CRL 的 ThisUpdate 時間大於或等於要新增 CRL 的 ThisUpdate 時間,則函式會失敗,並傳回CRYPT_E_EXISTS程式碼的 GetLastError

如果在存放區中找不到相符 CRL 或相符 CRL 的連結,則會將新的 CRL 新增至存放區。

CERT_STORE_ADD_NEWER_INHERIT_PROPERTIES
動作與CERT_STORE_ADD_NEWER相同,不同之處在于,如果取代較舊的 CRL,則會將舊版 CRL 的屬性併入取代 CRL 中。
CERT_STORE_ADD_REPLACE_EXISTING
如果存在相符 CRL 或相符 CRL 的連結,則會刪除現有的 CRL 或連結,並建立新的 CRL 並新增至存放區。 如果相符的 CRL 或相符 CRL 的連結不存在,則會新增一個。
CERT_STORE_ADD_REPLACE_EXISTING_INHERIT_PROPERTIES
如果存放區中有相符的 CRL,則會先刪除現有的內容,再建立和新增內容。 新增的內容會繼承現有 CRL 的屬性。
CERT_STORE_ADD_USE_EXISTING
如果有相符的 CRL 或相符 CRL 的連結存在,則會使用現有的 CRL,並新增來自新 CRL 的屬性。 函式不會失敗,但未新增任何新的 CRL。 如果 ppCertCoNtext 不是 Null,則會複製現有的內容。

如果相符的 CRL 或相符 CRL 的連結不存在,則會新增新的 CRL。

[out, optional] ppStoreContext

已解碼 CRL 內容的指標。 這是選擇性參數,而且可以是 Null,表示呼叫的應用程式不需要新增或現有的 CRL 複本。 如果建立複本,則必須使用 CertFreeCRLCoNtext釋放該內容。

傳回值

如果函式成功,則傳回值為 TRUE

如果函式失敗,傳回值為 FALSE。 來自所呼叫函式 CertAddEncodedCRLToStoreCertSetCRLCoNtextProperty 的錯誤可以傳播至此函式。

如需擴充的錯誤資訊,請呼叫 GetLastError。 接下來有一些可能的錯誤碼。

傳回碼 描述
CRYPT_E_EXISTS
如果已設定CERT_STORE_ADD_NEW且 CRL 已存在於存放區中,或已設定 CERT_STORE_ADD_NEWER,且儲存區中有 CRL,且此存放區中有大於或等於要新增之 CRL 上的ThisUpdate日期,就會傳回此錯誤。
E_INVALIDARG
dwAddDisposition參數指定了不正確處置值。

備註

CRL 內容不會使用 CertDuplicateCRLCoNtext重複。 相反地,會建立新的複本並新增至存放區。 除了複製編碼的 CRL 之外,函式還會複製內容的屬性。

若要從憑證存放區中移除 CRL 內容,請使用 CertDeleteCRLFromStore 函式。

規格需求

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

另請參閱

CertAddEncodedCRLToStore

CertDuplicateCRLCoNtext

CertFreeCRLCoNtext

CertSetCRLCoNtextProperty

憑證撤銷清單函式