CERT_CHAIN_POLICY_STATUS structure (wincrypt.h)

La structure CERT_CHAIN_POLICY_STATUS contient la chaîne de certificats status informations retournées par la fonction CertVerifyCertificateChainPolicy lorsque les chaînes de certificats sont validées.

Syntaxe

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

Membres

cbSize

Taille, en octets, de cette structure.

dwError

Valeur qui indique qu’une erreur ou une condition non valide a été rencontrée pendant le processus de validation. Les valeurs de ce membre sont spécifiques au type de stratégie tel que spécifié par la valeur du paramètre pszPolicyOID de la fonction CertVerifyCertificateChainPolicy .

Erreurs de stratégie de base (CERT_CHAIN_POLICY_BASE)

Valeur Signification
TRUST_E_CERT_SIGNATURE
0x80096004L
La signature du certificat ne peut pas être vérifiée.
CRYPT_E_REVOKED
0x80092010L
Le certificat ou la signature a été révoqué.
CERT_E_UNTRUSTEDROOT
0x800B0109L
Chaîne de certification traitée correctement mais terminée dans un certificat racine qui n’est pas approuvé par le fournisseur d’approbation.
CERT_E_UNTRUSTEDTESTROOT
0x800B010DL
Le certificat racine est un certificat de test et les paramètres de stratégie interdisent les certificats de test.
CERT_E_CHAINING
0x800B010AL
Une chaîne de certificats n’a pas été créée correctement.
CERT_E_WRONG_USAGE
0x800B0110L
Le certificat n'est pas valide pour l'utilisation demandée.
CERT_E_EXPIRED
0x800B0101L
Un certificat requis n’est pas dans sa période de validité.
CERT_E_INVALID_NAME
0x800B0114L
Le certificat a un nom non valide. Soit le nom n’est pas inclus dans la liste autorisée, soit il est explicitement exclu.
CERT_E_INVALID_POLICY
0x800B0113L
Le certificat a une stratégie non valide.
TRUST_E_BASIC_CONSTRAINTS
0x80096019L
Les contraintes de base du certificat ne sont pas valides ou sont manquantes.
CERT_E_CRITICAL
0x800B0105L
Le certificat est utilisé à d’autres fins que celle spécifiée par son autorité de certification.
CERT_E_VALIDITYPERIODNESTING
0x800B0102L
Les périodes de validité de la chaîne de certification ne s’imbriquent pas correctement.
CRYPT_E_NO_REVOCATION_CHECK
0x80092012L
La fonction de révocation n’a pas pu case activée révocation du certificat.
CRYPT_E_REVOCATION_OFFLINE
0x80092013L
La fonction de révocation n’a pas pu vérifier la révocation car le serveur de révocation était déconnecté.
 

Erreurs de stratégie de contraintes de base (CERT_CHAIN_POLICY_BASIC_CONSTRAINTS).

Valeur Signification
TRUST_E_BASIC_CONSTRAINTS
0x80096019L
Les contraintes de base du certificat ne sont pas valides ou sont manquantes.
 

Erreurs de stratégie Authenticode (CERT_CHAIN_POLICY_AUTHENTICODE et CERT_CHAIN_POLICY_AUTHENTICODE_TS).

Ces erreurs s’ajoutent aux erreurs de stratégie de base.

Valeur Signification
CERT_E_PURPOSE
0x800B0106L
Le certificat est utilisé à d’autres fins que celles spécifiées par l’autorité de certification émettrice.
CERT_E_REVOKED
0x800B010CL
Le certificat a été explicitement révoqué par l’émetteur.
CERT_E_REVOCATION_FAILURE
0x800B010EL
Le processus de révocation n’a pas pu continuer et le certificat n’a pas pu être vérifié.
 

Erreurs de stratégie SSL (CERT_CHAIN_POLICY_SSL).

Ces erreurs s’ajoutent aux erreurs de stratégie de base.

Valeur Signification
CERT_E_UNTRUSTEDROOT
0x800B0109L
Chaîne de certification traitée correctement mais terminée dans un certificat racine qui n’est pas approuvé par le fournisseur d’approbation.
CERT_E_CN_NO_MATCH
0x800B010FL
Le nom CN du certificat ne correspond pas à la valeur passée.
CERT_E_PURPOSE
0x800B0106L
Le certificat est utilisé à d’autres fins que celles spécifiées par son autorité de certification.
CERT_E_ROLE
0x800B0103L
Un certificat qui ne peut être utilisé qu’en tant qu’entité finale est utilisé en tant qu’autorité de certification ou vice versa.
 

Erreurs de stratégie racine Microsoft (CERT_CHAIN_POLICY_MICROSOFT_ROOT).

Valeur Signification
CERT_E_UNTRUSTEDROOT
0x800B0109L
Chaîne de certification traitée correctement mais terminée dans un certificat racine qui n’est pas approuvé par le fournisseur d’approbation.
 

Erreurs de stratégie EV.

Valeur Signification
CERT_E_CHAINING
0x800B010AL
La chaîne de certificats à une autorité racine approuvée n’a pas pu être générée.
CERT_E_WRONG_USAGE
0x800B0110L
Le certificat n'est pas valide pour l'utilisation demandée.

lChainIndex

Index qui indique la chaîne dans laquelle une erreur ou une condition non valide a été trouvée. Pour plus d'informations, consultez la section Notes.

lElementIndex

Index qui indique l’élément dans une chaîne où une erreur ou une condition non valide a été trouvée. Pour plus d'informations, consultez la section Notes.

pvExtraPolicyStatus

Pointeur vers une structure. Le type de structure est déterminé par la valeur du paramètre pszPolicyOID de la fonction CertVerifyCertificateChainPolicy . Outre les erreurs dwError, des status supplémentaires spécifiques à l’OID de stratégie peuvent également être retournées ici pour fournir des informations supplémentaires sur la chaîne status. Ce pointeur peut éventuellement être défini pour pointer vers une structure AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS .

Remarques

Si lChainIndex et lElementIndex ont la valeur –1, l’erreur ou la condition non valide s’applique à l’ensemble du contexte de chaîne. Si seul lElementIndex est défini sur –1, l’erreur ou la condition non valide s’applique à la chaîne indexée par lChainIndex. Sinon, l’erreur ou la condition qui n’est pas valide s’applique à l’élément certificate sur pChainContext-rgpChain>[lChainIndex]->rgpElement[lElementIndex].

Configuration requise

   
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
En-tête wincrypt.h