Funzione CertAddEncodedCRLToStore (wincrypt.h)
La funzione CertAddEncodedCRLToStore crea un contesto di elenco di revoche di certificati (CRL) da un CRL codificato e lo aggiunge all'archivio certificati. La funzione crea una copia del contesto CRL prima di aggiungerla all'archivio.
Sintassi
BOOL CertAddEncodedCRLToStore(
[in] HCERTSTORE hCertStore,
[in] DWORD dwCertEncodingType,
[in] const BYTE *pbCrlEncoded,
[in] DWORD cbCrlEncoded,
[in] DWORD dwAddDisposition,
[out, optional] PCCRL_CONTEXT *ppCrlContext
);
Parametri
[in] hCertStore
Handle di un archivio certificati.
[in] dwCertEncodingType
Specifica il tipo di codifica utilizzata. È sempre accettabile specificare sia il certificato che i tipi di codifica dei messaggi combinandoli con un'operazione OR bit per bit, come illustrato nell'esempio seguente:
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING I tipi di codifica attualmente definiti sono:
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
[in] pbCrlEncoded
Puntatore a un buffer contenente il CRL codificato da aggiungere all'archivio certificati.
[in] cbCrlEncoded
Dimensione, in byte, del buffer pbCrlEncoded .
[in] dwAddDisposition
Specifica l'azione da eseguire se esiste già un CRL corrispondente o un collegamento a un CRL corrispondente nell'archivio. I valori di eliminazione attualmente definiti e i relativi usi sono i seguenti.
Valore | Significato |
---|---|
|
Non verifica la presenza di un CRL corrispondente esistente o di un collegamento a un CRL corrispondente. Un nuovo CRL viene sempre aggiunto all'archivio. Ciò può causare duplicati in un archivio. |
|
Se esiste un CRL corrispondente o un collegamento a un CRL corrispondente, l'operazione ha esito negativo. GetLastError restituisce il codice CRYPT_E_EXISTS. |
|
Se esiste un CRL corrispondente o un collegamento a un CRL corrispondente, vengono confrontati gli orari di ThisUpdate sui CRL. Se l'elenco CRL esistente ha un'ora thisUpdate inferiore all'ora di ThisUpdate nel nuovo CRL, il CRL o il collegamento precedente viene sostituito esattamente come con CERT_STORE_ADD_REPLACE_EXISTING. Se l'elenco CRL esistente ha un'ora thisUpdate maggiore o uguale all'ora di ThisUpdate in CRL da aggiungere, la funzione ha esito negativo con GetLastError che restituisce il codice CRYPT_E_EXISTS.
Se un CRL corrispondente o un collegamento a un CRL corrispondente non viene trovato nell'archivio, viene aggiunto un nuovo CRL all'archivio. |
|
L'azione è la stessa di per CERT_STORE_ADD_NEWER, ad eccezione del fatto che se viene sostituito un CRL precedente, le proprietà del CRL precedente vengono incorporate nel CRL sostitutivo. |
|
Se esiste un CRL corrispondente o un collegamento a un CRL corrispondente, tale CRL o collegamento esistente viene eliminato e viene creato e aggiunto un nuovo CRL all'archivio. Se non esiste un CRL corrispondente o un collegamento a un CRL corrispondente, ne viene aggiunto uno. |
|
Se esiste un CRL corrispondente nell'archivio, tale contesto esistente viene eliminato prima di creare e aggiungere il nuovo contesto. Il nuovo contesto eredita le proprietà dal CRL esistente. |
|
Se esiste un CRL corrispondente o un collegamento a un CRL corrispondente, viene usato il CRL esistente e vengono aggiunte le proprietà del nuovo CRL. La funzione non ha esito negativo, ma non viene aggiunto alcun nuovo CRL. Se ppCertContext non è NULL, il contesto esistente viene duplicato.
Se non esiste un CRL corrispondente o un collegamento a un CRL corrispondente, viene aggiunto un nuovo CRL. |
[out, optional] ppCrlContext
Puntatore a un puntatore alla struttura CRL_CONTEXT decodificata. Si tratta di un parametro facoltativo che può essere NULL, che indica che l'applicazione chiamante non richiede una copia del CRL nuovo o esistente. Se viene eseguita una copia, tale contesto deve essere liberato usando CertFreeCRLContext.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è TRUE.
Se la funzione ha esito negativo, il valore restituito è FALSE. Per informazioni sugli errori estesi, chiamare GetLastError. Di seguito sono riportati alcuni possibili codici di errore.
Codice restituito | Descrizione |
---|---|
|
CERT_STORE_ADD_NEW è impostato e il CRL esiste già nell'archivio oppure CERT_STORE_ADD_NEWER è impostato ed è presente un CRL nell'archivio con un'ora di ThisUpdate maggiore o uguale all'ora thisUpdate per l'aggiunta del CRL. |
|
È stato specificato un valore di eliminazione non valido nel parametro dwAddDisposition o un tipo di codifica non valido specificato. Attualmente è supportato solo il tipo di codifica X509_ASN_ENCODING. |
Se la funzione ha esito negativo, GetLastError può restituire un errore di codifica/decodifica ASN.1 ( Abstract Syntax Notation One ). Per informazioni su questi errori, vedere Codifica ASN.1/Decodifica dei valori restituiti.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [app desktop | App UWP] |
Server minimo supportato | Windows Server 2003 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | wincrypt.h |
Libreria | Crypt32.lib |
DLL | Crypt32.dll |