Funzione CertGetCRLFromStore (wincrypt.h)
La funzione CertGetCRLFromStore ottiene il contestodell'elenco di revoche di certificati (CRL) primo o successivo dall'archivio certificati per l'autorità emittente specificata. La funzione esegue anche i controlli di verifica abilitati sul CRL. Le nuove funzioni di verifica della catena di certificati sono consigliate invece di questa funzione.
Sintassi
PCCRL_CONTEXT CertGetCRLFromStore(
[in] HCERTSTORE hCertStore,
[in, optional] PCCERT_CONTEXT pIssuerContext,
[in] PCCRL_CONTEXT pPrevCrlContext,
[in, out] DWORD *pdwFlags
);
Parametri
[in] hCertStore
Handle di un archivio certificati.
[in, optional] pIssuerContext
Puntatore a un CERT_CONTEXT dell'autorità emittente. Il puntatore pIssuerContext può provenire da questo archivio o da un altro archivio oppure può essere stato creato dalla chiamata a CertCreateCertificateContext. Se viene passato NULL per questo parametro, vengono trovati tutti i CRL nell'archivio.
[in] pPrevCrlContext
Puntatore a un CRL_CONTEXT. Un'autorità emittente può avere più CRL. Ad esempio, può generare CRL differenziali usando un'estensione X.509 versione 3. Questo parametro deve essere NULL nella prima chiamata per ottenere il CRL. Per ottenere il CRL successivo per l'emittente, il parametro viene impostato sul CRL_CONTEXT restituito da una chiamata precedente. Una funzione pPrevCrlContext non NULL viene sempre liberata da questa funzione chiamando CertFreeCRLContext, anche per un errore.
[in, out] pdwFlags
I valori del flag seguenti sono definiti per abilitare i controlli di verifica sul CRL restituito. Questi flag possono essere combinati usando un'operazione OR bit per bit.
Se un controllo di verifica abilitato ha esito positivo, il flag è impostato su zero.
Se un controllo di verifica abilitato ha esito negativo, il flag rimane impostato al momento della restituzione. Se pIssuerContext è NULL, un CERT_STORE_SIGNATURE_FLAG abilitato ha sempre esito negativo e viene impostato anche il CERT_STORE_NO_ISSUER_FLAG. Per informazioni dettagliate, vedere Osservazioni.
Se viene impostato solo uno dei CERT_STORE_BASE_CRL_FLAG o CERT_STORE_DELTA_CRL_FLAG, questa funzione restituisce un CRL di base o delta e il flag di base o delta appropriato verrà cancellato al ritorno. Se vengono impostati entrambi i flag, verrà cancellato solo uno dei flag.
Per un errore di verifica, viene comunque restituito un puntatore al primo o al successivo CRL_CONTEXT e GetLastError non viene aggiornato.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è un puntatore a un CRL_CONTEXT di sola lettura.
Se la funzione ha esito negativo e il primo O successivo CRL non viene trovato, il valore restituito è NULL.
Il CRL_CONTEXT restituito deve essere liberato chiamando CertFreeCRLContext. Tuttavia, quando il CRL_CONTEXT restituito viene fornito per pPrevCrlContext in una chiamata successiva, la funzione la libera.
Per informazioni sugli errori estesi, chiamare GetLastError. Di seguito sono riportati alcuni possibili codici di errore.
Valore | Descrizione |
---|---|
|
L'handle nel parametro hCertStore non è uguale a quello nel contesto CRL a cui punta il parametro pPrevCrlContext oppure in pdwFlags è stato impostato un flag non supportato. |
|
Non esiste alcun CRL nell'archivio per l'emittente oppure la funzione ha raggiunto la fine dell'elenco dello store. |
Commenti
CertDuplicateCRLContext può essere chiamato per creare un CRL duplicato.
I valori esadecimali dei flag possono essere combinati usando un'operazione OR bit per bit per abilitare entrambe le verifiche. Ad esempio, per abilitare entrambe le verifiche, il valore DWORD a cui punta pdwFlags è impostato sul valore CERT_STORE_SIGNATURE_FLAG | CERT_STORE_TIME_VALIDITY_FLAG. Se la verifica CERT_STORE_SIGNATURE_FLAG ha avuto esito positivo, ma CERT_STORE_TIME_VALIDITY_FLAG verifica non è riuscita, il valore DWORD a cui punta pdwFlags viene impostato su CERT_STORE_TIME_VALIDITY_FLAG quando la funzione restituisce.
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 |