CertVerifySubjectCertificateContext-Funktion (wincrypt.h)

Die Funktion CertVerifySubjectCertificateContext führt die aktivierten Überprüfungsprüfungen für ein Zertifikat durch, indem die Gültigkeit des Ausstellers des Zertifikats überprüft wird. Anstelle dieser Funktion werden die neuen Funktionen zur Überprüfung der Zertifikatkette empfohlen.

Syntax

BOOL CertVerifySubjectCertificateContext(
  [in]           PCCERT_CONTEXT pSubject,
  [in, optional] PCCERT_CONTEXT pIssuer,
  [in, out]      DWORD          *pdwFlags
);

Parameter

[in] pSubject

Ein Zeiger auf eine CERT_CONTEXT-Struktur , die das Zertifikat des Antragstellers enthält.

[in, optional] pIssuer

Ein Zeiger auf eine CERT_CONTEXT , die das Zertifikat des Ausstellers enthält. Wenn Sie nur CERT_STORE_TIME_VALIDITY_FLAG überprüfen, kann pIssuerNULL sein.

[in, out] pdwFlags

Ein Zeiger auf einen DWORD-Wert enthält Überprüfungsprüfflags. Die folgenden Flags können festgelegt werden, um Überprüfungsprüfungen für das Zertifikat des Antragstellers zu aktivieren. Sie können mithilfe eines bitweisen OR-Vorgangs kombiniert werden, um mehrere Überprüfungen zu ermöglichen.

Wert Bedeutung
CERT_STORE_REVOCATION_FLAG
Überprüft, ob das Antragstellerzertifikat in der Sperrliste des Ausstellers enthalten ist.
CERT_STORE_SIGNATURE_FLAG
Verwendet den öffentlichen Schlüssel im Zertifikat des Ausstellers, um die Signatur für das Zertifikat des Antragstellers zu überprüfen.
CERT_STORE_TIME_VALIDITY_FLAG
Ruft die aktuelle Uhrzeit ab und überprüft, ob sie innerhalb des Gültigkeitszeitraums des Antragstellerzertifikats liegt.
 

Wenn eine aktivierte Überprüfung erfolgreich ist, wird ihr Flag auf Null festgelegt. Wenn ein Fehler auftritt, wird das Flag bei der Rückgabe festgelegt.

Wenn CERT_STORE_REVOCATION_FLAG aktiviert wurde und der Aussteller keine Zertifikatsperrliste im Speicher hat, wird CERT_STORE_NO_CRL_FLAG zusätzlich zu CERT_STORE_REVOCATION_FLAG festgelegt.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert TRUE.

Wenn die Funktion fehlschlägt, ist der Rückgabewert FALSE.

Bei einem Fehler bei der Überprüfung wird WEITERHIN TRUE zurückgegeben. FALSE wird nur zurückgegeben, wenn ein fehlerhafter Parameter übergeben wird.

Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen zu erhalten. Ein möglicher Fehlercode ist der folgende.

Rückgabecode Beschreibung
E_INVALIDARG
Ein nicht unterstütztes Bit wurde in pdwFlags festgelegt. Es kann eine beliebige Kombination aus CERT_STORE_SIGNATURE_FLAG, CERT_STORE_TIME_VALIDITY_FLAG und CERT_STORE_REVOCATION_FLAG festgelegt werden. Wenn pIssuerNULL ist, kann nur CERT_STORE_TIME_VALIDITY_FLAG festgelegt werden.

Hinweise

Der Hexadezimalwert der Flags kann mithilfe von bitweisen OR-Vorgängen kombiniert werden, um mehrere Überprüfungen zu ermöglichen. Um beispielsweise die Signatur- und Zeitvalidität zu aktivieren, wird der Wert

CERT_STORE_SIGNATURE_FLAG | CERT_STORE_TIME_VALIDITY_FLAG

wird im DWORD-Wert pdwFlags als Eingabeparameter platziert. Wenn CERT_STORE_SIGNATURE_FLAG Überprüfung erfolgreich ist, aber CERT_STORE_TIME_VALIDITY_FLAG Überprüfung fehlschlägt, wird pdwFlags auf CERT_STORE_TIME_VALIDITY_FLAG festgelegt, wenn die Funktion zurückgegeben wird.

Anforderungen

Anforderung Wert
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

Weitere Informationen

CERT_CONTEXT

CertGetIssuerCertificateFromStore

Zertifikatfunktionen