CertAddEncodedCRLToStore 函式 (wincrypt.h)
CertAddEncodedCRLToStore 函式會從編碼 CRL 建立證書吊銷清單 (CRL) 內容,並將它新增至證書存儲。 函式會在將CRL內容新增至存放區之前建立CRL內容的複本。
語法
BOOL CertAddEncodedCRLToStore(
[in] HCERTSTORE hCertStore,
[in] DWORD dwCertEncodingType,
[in] const BYTE *pbCrlEncoded,
[in] DWORD cbCrlEncoded,
[in] DWORD dwAddDisposition,
[out, optional] PCCRL_CONTEXT *ppCrlContext
);
參數
[in] hCertStore
證書存儲的句柄。
[in] dwCertEncodingType
指定使用的編碼類型。 將憑證和 訊息編碼類型 與位 OR 作業結合在一起,一律可以接受,如下列範例所示:
X509_ASN_ENCODING |PKCS_7_ASN_ENCODING目前定義的編碼類型如下:
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
[in] pbCrlEncoded
緩衝區的指標,其中包含要加入證書 存儲的編碼 CRL。
[in] cbCrlEncoded
pbCrlEncoded 緩衝區的大小,以位元組為單位。
[in] dwAddDisposition
指定如果相符的CRL或相符CRL的連結已存在於存放區中,所要採取的動作。 目前定義的處置值及其用途如下。
值 | 意義 |
---|---|
|
不檢查現有的相符 CRL 或符合 CRL 的連結。 新的CRL一律會新增至存放區。 這可能會導致存放區中的重複專案。 |
|
如果相符的CRL或相符CRL的連結存在,作業就會失敗。 GetLastError 會傳回CRYPT_E_EXISTS程序代碼。 |
|
如果相符的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 相同,不同之處在於,如果取代較舊的CRL,則會將舊版CRL的屬性併入取代CRL中。 |
|
如果相符的CRL或相符CRL的連結存在,則會刪除現有的CRL或連結,並建立新的CRL並新增至存放區。 如果相符的CRL或相符CRL的連結不存在,則會新增一個。 |
|
如果存放區中有相符的CRL,在建立並新增新內容之前,會先刪除該現有內容。 新的內容會繼承現有CRL的屬性。 |
|
如果相符的CRL或相符CRL的連結存在,則會使用現有的CRL,並新增新CRL中的屬性。 函式不會失敗,但不會新增任何新的 CRL。 如果 ppCertContext 不是 NULL,則會複製現有的內容。
如果相符的CRL或相符CRL的連結不存在,則會新增新的CRL。 |
[out, optional] ppCrlContext
已譯碼 之CRL_CONTEXT 結構的指標。 這是可為 NULL 的選擇性參數,表示呼叫的應用程式不需要新的或現有的 CRL 複本。 如果建立複本,則必須使用 CertFreeCRLContext 釋放該內容。
傳回值
如果函式成功,則傳回值為 TRUE。
如果函式失敗,則傳回值為 FALSE。 如需擴充錯誤資訊,請呼叫 GetLastError。 以下是一些可能的錯誤碼。
傳回碼 | Description |
---|---|
|
CERT_STORE_ADD_NEW已設定,且CRL已存在於存放區中,或已設定CERT_STORE_ADD_NEWER,且存放區中有一個CRL,且此存放區中的CRL大於或等於要新增CRL的ThisUpdate時間。 |
|
在 dwAddDisposition 參數中指定無效的處置值,或指定無效的編碼類型。 目前僅支援編碼類型X509_ASN_ENCODING。 |
如果函式失敗, GetLastError 可能會傳回 抽象語法表示法一 (ASN.1) 編碼/譯碼錯誤。 如需這些錯誤的相關信息,請參閱 ASN.1 編碼/譯碼傳回值。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2003 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | wincrypt.h |
程式庫 | Crypt32.lib |
Dll | Crypt32.dll |