Funzione CertFindCRLInStore (wincrypt.h)
La funzione CertFindCRLInStore trova il contesto dell'elenco di revoche di certificati (CRL) primo o successivo in un archivio certificati che corrisponde a un criterio di ricerca stabilito dal parametro dwFindType e dal parametro pvFindPara associato. Questa funzione può essere usata in un ciclo per trovare tutti i contesti CRL in un archivio certificati che soddisfano i criteri di ricerca specificati.
Sintassi
PCCRL_CONTEXT CertFindCRLInStore(
[in] HCERTSTORE hCertStore,
[in] DWORD dwCertEncodingType,
[in] DWORD dwFindFlags,
[in] DWORD dwFindType,
[in] const void *pvFindPara,
[in] PCCRL_CONTEXT pPrevCrlContext
);
Parametri
[in] hCertStore
Handle dell'archivio certificati da cercare.
[in] dwCertEncodingType
Questo parametro non è attualmente utilizzato. Deve essere impostato su zero.
[in] dwFindFlags
Se dwFindType è CRL_FIND_ISSUED_BY, per impostazione predefinita viene eseguita solo la corrispondenza dei nomi dell'autorità emittente. I flag seguenti possono essere usati per eseguire ulteriori filtri.
Valore | Significato |
---|---|
|
Verifica la presenza di un CRL con estensione AKI (Authority Key Identifier). Se il CRL ha un AKI, viene restituito solo un CRL il cui AKI corrisponde all'emittente.
Nota L'estensione AKI ha il valore OID ( Object Identifier ) szOID_AUTHORITY_KEY_IDENTIFIER2 e la relativa struttura di dati corrispondente.
|
|
Usare la chiave pubblica nel certificato dell'autorità emittente per verificare la firma nel CRL. Restituisce solo un CRL con una firma valida. |
|
Trova e restituisce un CRL delta. |
|
Trova e restituisce un CRL di base. |
|
La firma viene verificata per verificare la forza dopo la verifica riuscita. Questo flag si applica solo quando il parametro dwFindType è impostato su CRL_FIND_ISSUED_FOR. È inoltre necessario impostare CRL_FIND_ISSUED_BY_SIGNATURE_FLAG. In caso di esito positivo, nel contesto CRL verranno impostate le proprietà di firma complesse seguenti:
|
[in] dwFindType
Specifica il tipo di ricerca eseguita. Il valore di dwFindType determina il tipo di dati, il contenuto e l'uso del parametro pvFindPara . I tipi di ricerca attualmente definiti e i requisiti pvFindPara sono i seguenti.
Valore | Significato |
---|---|
|
Nessun criterio di ricerca. Viene restituito il CRL successivo nell'archivio. |
|
Cerca il CRL successivo nell'archivio corrispondente all'autorità emittente nel CERT_CONTEXT. |
|
Cerca il CRL successivo che corrisponde al CRL_CONTEXT nei modi seguenti:
|
|
Cerca il CRL successivo nell'archivio che corrisponde all'autorità emittente del certificato soggetto nella struttura CRL_FIND_ISSUED_FOR_PARA.
Se non viene trovato alcun CRL, cerca il CRL successivo nell'archivio che corrisponde all'autorità emittente nella struttura CRL_FIND_ISSUED_FOR_PARA. Nota Quando si usano certificati incrociati, il nome del soggetto nel certificato dell'autorità emittente potrebbe non corrispondere al nome dell'autorità emittente nel certificato soggetto e al CRL corrispondente.
|
[in] pvFindPara
Questo parametro è determinato dal valore di dwFindType. Per informazioni dettagliate, vedere la tabella riportata in precedenza in questo argomento.
[in] pPrevCrlContext
Puntatore all'ultimo CRL_CONTEXT restituito da questa funzione. Deve essere NULL per ottenere il primo CRL nell'archivio che soddisfa i criteri di ricerca. I CRL successivi che soddisfano i criteri di ricerca sono disponibili impostando pPrevCrlContext sul puntatore PCCRL_CONTEXT restituito da una chiamata precedente alla funzione. Il processo di ricerca ignora eventuali CRL che non corrispondono ai criteri di ricerca o che sono stati precedentemente eliminati dall'archivio da CertDeleteCRLFromStore. Questa funzione libera il CRL_CONTEXT a cui fa riferimento i valori di questo parametro che non sono NULL.
Valore restituito
Se la funzione ha esito positivo, la funzione restituisce un puntatore a un contesto CRL di sola lettura. Al termine dell'uso del contesto CRL restituito, liberarlo chiamando la funzione CertFreeCRLContext o liberandola in modo implicito passandolo come parametro pPrevCrlContext in una chiamata successiva alla funzione CertFindCRLInStore .
Se la funzione ha esito negativo e non viene trovato un CRL corrispondente ai criteri di ricerca, il valore restituito è NULL. Per informazioni sugli errori estesi, chiamare GetLastError. Di seguito sono riportati alcuni possibili codici di errore.
Codice restituito | Descrizione |
---|---|
|
L'handle nel parametro hCertStore non è uguale a quello nel contesto CRL a cui punta il parametro pPrevCrlContext o un tipo di ricerca non valido specificato nel parametro dwFindType . |
|
Nessun CRL è presente nell'archivio, non è stato trovato alcun CRL corrispondente ai criteri di ricerca oppure è stata raggiunta la fine dell'elenco dello store. |
Commenti
Il puntatore restituito viene liberato quando viene passato come parametro pPrevCrlContext in una chiamata successiva alla funzione. In caso contrario, il puntatore deve essere liberato in modo esplicito chiamando CertFreeCRLContext. Un pPrevCrlContext che non è NULL viene sempre liberato da CertFindCRLInStore usando una chiamata a CertFreeCRLContext, anche se si verifica un errore nella funzione.
CertDuplicateCRLContext può essere chiamato per creare un duplicato del contesto restituito. Il contesto CRL restituito può essere aggiunto a un archivio certificati diverso usando CertAddCRLContextToStore oppure è possibile aggiungere un collegamento a tale contesto CRL a un archivio non di raccolta usando CertAddCRLLinkToStore.
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 |