Funzione CertAddCRLContextToStore (wincrypt.h)
La funzione CertAddCRLContextToStore aggiunge un contesto dell'elenco di revoche di certificati (CRL) all'archivio certificati specificato.
Sintassi
BOOL CertAddCRLContextToStore(
[in] HCERTSTORE hCertStore,
[in] PCCRL_CONTEXT pCrlContext,
[in] DWORD dwAddDisposition,
[out, optional] PCCRL_CONTEXT *ppStoreContext
);
Parametri
[in] hCertStore
Handle di un archivio certificati.
[in] pCrlContext
Puntatore alla struttura CRL_CONTEXT da aggiungere.
[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, la funzione confronta gli orari di ThisUpdate nei 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, il CRL o il 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, il contesto esistente viene eliminato prima di creare e aggiungere il nuovo contesto. Il contesto aggiunto 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] ppStoreContext
Puntatore a un puntatore al contesto CRL decodificato. Si tratta di un parametro facoltativo e può essere NULL, a indicare che l'applicazione chiamante non richiede una copia del CRL aggiunto 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. Gli errori delle funzioni chiamate CertAddEncodedCRLToStore e CertSetCRLContextProperty possono essere propagati a questa funzione.
Per informazioni sugli errori estesi, chiamare GetLastError. Di seguito sono riportati alcuni possibili codici di errore.
Codice restituito | Descrizione |
---|---|
|
Questo errore viene restituito se CERT_STORE_ADD_NEW è impostato e il CRL esiste già nell'archivio o se CERT_STORE_ADD_NEWER è impostato e esiste un CRL nell'archivio con una data ThisUpdate maggiore o uguale alla data thisUpdate in CRL da aggiungere. |
|
Il parametro dwAddDisposition ha specificato un valore di eliminazione non valido. |
Commenti
Il contesto CRL non viene duplicato usando CertDuplicateCRLContext. Viene invece creata una nuova copia e aggiunta all'archivio. Oltre a copiare il CRL codificato, la funzione copia le proprietà del contesto.
Per rimuovere il contesto CRL dall'archivio certificati, usare la funzione CertDeleteCRLFromStore .
Requisiti
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 |