CertGetCRLFromStore-Funktion (wincrypt.h)
Die CertGetCRLFromStore-Funktion ruft den ersten oder nächsten CRL-Kontext (Certificate Revocation List) aus dem Zertifikatspeicher für den angegebenen Aussteller ab. Die Funktion führt auch die aktivierten Überprüfungsprüfungen für die Zertifikatsperrliste durch. Anstelle dieser Funktion werden die neuen Funktionen zur Überprüfung der Zertifikatkette empfohlen.
Syntax
PCCRL_CONTEXT CertGetCRLFromStore(
[in] HCERTSTORE hCertStore,
[in, optional] PCCERT_CONTEXT pIssuerContext,
[in] PCCRL_CONTEXT pPrevCrlContext,
[in, out] DWORD *pdwFlags
);
Parameter
[in] hCertStore
Handle eines Zertifikatspeichers.
[in, optional] pIssuerContext
Ein Zeiger auf einen Aussteller CERT_CONTEXT. Der pIssuerContext-Zeiger kann aus diesem Speicher oder einem anderen Speicher stammen oder durch den Aufruf von CertCreateCertificateContext erstellt werden. Wenn NULL für diesen Parameter übergeben wird, werden alle CRLs im Speicher gefunden.
[in] pPrevCrlContext
Ein Zeiger auf eine CRL_CONTEXT. Ein Aussteller kann über mehrere CrLs verfügen. Beispielsweise können Delta-CRLs mithilfe einer X.509 Version 3-Erweiterung generiert werden. Dieser Parameter muss beim ersten Aufruf NULL sein, um die Zertifikatsperrliste abzurufen. Um die nächste Zertifikatsperrliste für den Aussteller abzurufen, wird der Parameter auf die von einem vorherigen Aufruf zurückgegebene CRL_CONTEXT festgelegt. Ein pPrevCrlContext ohne NULL wird von dieser Funktion immer freigegeben, indem CertFreeCRLContext aufgerufen wird, auch bei einem Fehler.
[in, out] pdwFlags
Die folgenden Flagwerte werden definiert, um Überprüfungsprüfungen für die zurückgegebene Zertifikatsperrliste zu aktivieren. Diese Flags können mithilfe eines bitweisen OR-Vorgangs kombiniert werden.
Wenn eine aktivierte Überprüfung erfolgreich ist, wird ihr Flag auf Null festgelegt.
Wenn bei einer aktivierten Überprüfungsprüfung ein Fehler auftritt, bleibt ihr Flag bei der Rückgabe festgelegt. Wenn pIssuerContextNULL ist, schlägt ein aktivierter CERT_STORE_SIGNATURE_FLAG immer fehl, und der CERT_STORE_NO_ISSUER_FLAG wird ebenfalls festgelegt. Ausführliche Informationen finden Sie unter Hinweise.
Wenn nur eine der CERT_STORE_BASE_CRL_FLAG oder CERT_STORE_DELTA_CRL_FLAG festgelegt ist, gibt diese Funktion entweder eine Basis- oder Delta-Zertifikatsperrliste zurück, und das entsprechende Basis- oder Deltaflag wird bei der Rückgabe gelöscht. Wenn beide Flags festgelegt sind, wird nur eines der Flags gelöscht.
Bei einem Überprüfungsprüfungsfehler wird weiterhin ein Zeiger auf den ersten oder nächsten CRL_CONTEXT zurückgegeben, und GetLastError wird nicht aktualisiert.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein Zeiger auf eine schreibgeschützte CRL_CONTEXT.
Wenn die Funktion fehlschlägt und die erste oder nächste Zertifikatsperrliste nicht gefunden wird, ist der Rückgabewert NULL.
Die zurückgegebene CRL_CONTEXT muss durch Aufrufen von CertFreeCRLContext freigegeben werden. Wenn die zurückgegebene CRL_CONTEXT jedoch für pPrevCrlContext bei einem nachfolgenden Aufruf angegeben wird, gibt die Funktion sie frei.
Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen zu erhalten. Es folgen einige mögliche Fehlercodes.
Wert | BESCHREIBUNG |
---|---|
|
Das Handle im hCertStore-Parameter ist nicht dasselbe wie im CRL-Kontext, auf den der pPrevCrlContext-Parameter verweist, oder ein nicht unterstütztes Flag wurde in pdwFlags festgelegt. |
|
Entweder waren keine CrLs im Speicher für den Aussteller vorhanden, oder die Funktion hat das Ende der Liste des Speichers erreicht. |
Hinweise
CertDuplicateCRLContext kann aufgerufen werden, um eine doppelte Zertifikatsperrliste zu erstellen.
Die Hexadezimalwerte der Flags können mithilfe eines bitweisen OR-Vorgangs kombiniert werden, um beide Überprüfungen zu aktivieren. Um beispielsweise beide Überprüfungen zu aktivieren, wird der DWORD-Wert , auf den von pdwFlags verwiesen wird, auf den Wert CERT_STORE_SIGNATURE_FLAG | CERT_STORE_TIME_VALIDITY_FLAG. Wenn die CERT_STORE_SIGNATURE_FLAG Überprüfung erfolgreich war, aber CERT_STORE_TIME_VALIDITY_FLAG Überprüfung fehlgeschlagen ist, wird der DWORD-Wert , auf den von pdwFlags verwiesen wird, auf CERT_STORE_TIME_VALIDITY_FLAG festgelegt, wenn die Funktion zurückgibt.
Anforderungen
Unterstützte Mindestversion (Client) | Windows XP [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | wincrypt.h |
Bibliothek | Crypt32.lib |
DLL | Crypt32.dll |