Share via


CERT_CHAIN_POLICY_STATUS-Struktur (wincrypt.h)

Die CERT_CHAIN_POLICY_STATUS-Struktur enthält Zertifikatkette status Informationen, die von der CertVerifyCertificateChainPolicy-Funktion zurückgegeben werden, wenn die Zertifikatketten überprüft werden.

Syntax

typedef struct _CERT_CHAIN_POLICY_STATUS {
  DWORD cbSize;
  DWORD dwError;
  LONG  lChainIndex;
  LONG  lElementIndex;
  void  *pvExtraPolicyStatus;
} CERT_CHAIN_POLICY_STATUS, *PCERT_CHAIN_POLICY_STATUS;

Member

cbSize

Die Größe (in Bytes) dieser Struktur.

dwError

Ein -Wert, der angibt, dass während des Überprüfungsprozesses ein Fehler oder eine ungültige Bedingung aufgetreten ist. Die Werte dieses Members sind spezifisch für den Richtlinientyp, wie durch den Wert des pszPolicyOID-Parameters der CertVerifyCertificateChainPolicy-Funktion angegeben.

Basisrichtlinienfehler (CERT_CHAIN_POLICY_BASE)

Wert Bedeutung
TRUST_E_CERT_SIGNATURE
0x80096004L
Die Signatur des Zertifikats kann nicht überprüft werden.
CRYPT_E_REVOKED
0x80092010L
Das Zertifikat oder die Signatur wurde widerrufen.
CERT_E_UNTRUSTEDROOT
0x800B0109L
Eine zertifizierungskette, die ordnungsgemäß verarbeitet, aber in einem Stammzertifikat beendet wird, das vom Vertrauensanbieter nicht als vertrauenswürdig eingestuft wird.
CERT_E_UNTRUSTEDTESTROOT
0x800B010DL
Das Stammzertifikat ist ein Testzertifikat, und die Richtlinieneinstellungen verbieten Testzertifikate.
CERT_E_CHAINING
0x800B010AL
Eine Kette von Zertifikaten wurde nicht ordnungsgemäß erstellt.
CERT_E_WRONG_USAGE
0x800B0110L
Das Zertifikat ist für die angeforderte Verwendung nicht zulässig.
CERT_E_EXPIRED
0x800B0101L
Ein erforderliches Zertifikat liegt nicht innerhalb seiner Gültigkeitsdauer.
CERT_E_INVALID_NAME
0x800B0114L
Das Zertifikat besitzt einen ungültigen Namen. Entweder ist der Name nicht in der Liste zulässiger Daten enthalten, oder er wird explizit ausgeschlossen.
CERT_E_INVALID_POLICY
0x800B0113L
Das Zertifikat enthält eine ungültige Richtlinie.
TRUST_E_BASIC_CONSTRAINTS
0x80096019L
Die grundlegenden Einschränkungen des Zertifikats sind ungültig oder fehlen.
CERT_E_CRITICAL
0x800B0105L
Das Zertifikat wird für einen anderen Zweck als den von der Zertifizierungsstelle angegebenen Zweck verwendet.
CERT_E_VALIDITYPERIODNESTING
0x800B0102L
Die Gültigkeitsdauern der Zertifizierungskette werden nicht ordnungsgemäß geschachtelt.
CRYPT_E_NO_REVOCATION_CHECK
0x80092012L
Die Sperrfunktion konnte die Sperrung für das Zertifikat nicht überprüfen.
CRYPT_E_REVOCATION_OFFLINE
0x80092013L
Die Sperrfunktion konnte die Sperrung nicht überprüfen, da der Sperrserver offline war.
 

Grundlegende Einschränkungsrichtlinienfehler (CERT_CHAIN_POLICY_BASIC_CONSTRAINTS).

Wert Bedeutung
TRUST_E_BASIC_CONSTRAINTS
0x80096019L
Die grundlegenden Einschränkungen des Zertifikats sind ungültig oder fehlen.
 

Authenticode-Richtlinienfehler (CERT_CHAIN_POLICY_AUTHENTICODE und CERT_CHAIN_POLICY_AUTHENTICODE_TS).

Diese Fehler treten zusätzlich zu den Basisrichtlinienfehlern auf.

Wert Bedeutung
CERT_E_PURPOSE
0x800B0106L
Das Zertifikat wird für einen anderen Als einen von der ausstellenden Zertifizierungsstelle angegebenen Zweck verwendet.
CERT_E_REVOKED
0x800B010CL
Das Zertifikat wurde vom Aussteller explizit widerrufen.
CERT_E_REVOCATION_FAILURE
0x800B010EL
Der Sperrvorgang konnte nicht fortgesetzt werden, und das Zertifikat konnte nicht überprüft werden.
 

SSL-Richtlinienfehler (CERT_CHAIN_POLICY_SSL).

Diese Fehler treten zusätzlich zu den Basisrichtlinienfehlern auf.

Wert Bedeutung
CERT_E_UNTRUSTEDROOT
0x800B0109L
Eine zertifizierungskette, die ordnungsgemäß verarbeitet, aber in einem Stammzertifikat beendet wird, das vom Vertrauensanbieter nicht als vertrauenswürdig eingestuft wird.
CERT_E_CN_NO_MATCH
0x800B010FL
Der CN-Name des Zertifikats stimmt nicht mit dem übergebenen Wert überein.
CERT_E_PURPOSE
0x800B0106L
Das Zertifikat wird für einen anderen Zweck als die von der Zertifizierungsstelle angegebenen Zwecke verwendet.
CERT_E_ROLE
0x800B0103L
Ein Zertifikat, das nur als Endentität verwendet werden kann, wird als Zertifizierungsstelle verwendet oder umgekehrt.
 

Microsoft-Stammrichtlinienfehler (CERT_CHAIN_POLICY_MICROSOFT_ROOT).

Wert Bedeutung
CERT_E_UNTRUSTEDROOT
0x800B0109L
Eine zertifizierungskette, die ordnungsgemäß verarbeitet, aber in einem Stammzertifikat beendet wird, das vom Vertrauensanbieter nicht als vertrauenswürdig eingestuft wird.
 

EV-Richtlinienfehler.

Wert Bedeutung
CERT_E_CHAINING
0x800B010AL
Die Zertifikatkette zu einer vertrauenswürdigen Stammautorität konnte nicht erstellt werden.
CERT_E_WRONG_USAGE
0x800B0110L
Das Zertifikat ist für die angeforderte Verwendung nicht zulässig.

lChainIndex

Index, der die Kette angibt, in der ein ungültiger Fehler oder eine ungültige Bedingung gefunden wurde. Weitere Informationen finden Sie in den Hinweisen.

lElementIndex

Index, der das Element in einer Kette angibt, in dem ein fehler oder eine bedingung gefunden wurde, die nicht gültig ist. Weitere Informationen finden Sie in den Hinweisen.

pvExtraPolicyStatus

Ein Zeiger auf eine Struktur. Der Strukturtyp wird durch den Wert des pszPolicyOID-Parameters der CertVerifyCertificateChainPolicy-Funktion bestimmt. Zusätzlich zu dwError-Fehlern können hier auch Richtlinien-OID-spezifische zusätzliche status zurückgegeben werden, um zusätzliche Status-Informationen bereitzustellen. Dieser Zeiger kann optional so festgelegt werden, dass er auf eine AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS-Struktur verweist.

Hinweise

Wenn sowohl lChainIndex als auch lElementIndex auf –1 festgelegt sind, gilt der nicht gültige Fehler oder die bedingung für den gesamten Kettenkontext. Wenn nur lElementIndex auf –1 festgelegt ist, gilt der ungültige Fehler oder die ungültige Bedingung für die Kette, die von lChainIndex indiziert wird. Andernfalls gilt der ungültige Fehler oder die ungültige Bedingung für das Zertifikatelement in pChainContext-rgpChain>[lChainIndex]->rgpElement[lElementIndex].

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Kopfzeile wincrypt.h