Fonction CertGetEnhancedKeyUsage (wincrypt.h)
La fonction CertGetEnhancedKeyUsage retourne des informations provenant de l’extension EKU ( Enhanced Key Usage ) ou de la propriété étendue EKU d’un certificat. Les EKU indiquent des utilisations valides du certificat.
Syntaxe
BOOL CertGetEnhancedKeyUsage(
[in] PCCERT_CONTEXT pCertContext,
[in] DWORD dwFlags,
[out] PCERT_ENHKEY_USAGE pUsage,
[in, out] DWORD *pcbUsage
);
Paramètres
[in] pCertContext
Pointeur vers un contexte de certificat CERT_CONTEXT .
[in] dwFlags
Indique si la fonction signale les extensions d’un certificat, ses propriétés étendues ou les deux. Si la valeur est égale à zéro, la fonction retourne les utilisations valides d’un certificat en fonction de l’extension EKU et de la valeur de propriété étendue EKU du certificat.
Pour renvoyer uniquement la valeur de l’extension EKU ou de la propriété EKU, définissez les indicateurs suivants.
Valeur | Signification |
---|---|
|
Obtenez uniquement l’extension. |
|
Obtenez uniquement la valeur de la propriété étendue. |
[out] pUsage
Pointeur vers une structure CERT_ENHKEY_USAGE (CERT_ENHKEY_USAGE est un autre nom typedef pour la structure CTL_USAGE ) qui reçoit les utilisations valides du certificat.
Ce paramètre peut avoir la valeur NULL pour définir la taille de l’utilisation de la clé à des fins d’allocation de mémoire. Pour plus d’informations, consultez Récupération de données de longueur inconnue.
[in, out] pcbUsage
Pointeur vers un DWORD qui spécifie la taille, en octets, de la structure pointée par pUsage. Lorsque la fonction retourne, le DWORD contient la taille, en octets, de la structure.
Valeur retournée
Si la fonction réussit, la fonction retourne une valeur différente de zéro (TRUE).
Si la fonction échoue, elle retourne zéro (FALSE).
Remarques
Si un certificat a une extension EKU, cette extension répertorie les identificateurs d’objet (OID) pour les utilisations valides de ce certificat. Dans un environnement Microsoft, un certificat peut également avoir des propriétés étendues EKU qui spécifient des utilisations valides pour le certificat.
- Si un certificat n’a ni extension EKU ni propriétés étendues EKU, il est supposé être valide pour toutes les utilisations.
- S’il possède une extension EKU ou des propriétés étendues EKU, mais pas les deux, il est valide uniquement pour les utilisations indiquées dans l’extension ou les propriétés étendues dont il dispose.
- Si un certificat a à la fois une extension EKU et des propriétés étendues EKU, il est valide uniquement pour les utilisations qui se trouvent sur les deux listes.
Si le membre cUsageIdentifier est égal à zéro, le certificat peut être valide pour toutes les utilisations ou le certificat n’a peut-être aucune utilisation valide. Le retour d’un appel à GetLastError peut être utilisé pour déterminer si le certificat est bon pour toutes les utilisations ou pour aucun. Si GetLastError retourne CRYPT_E_NOT_FOUND, le certificat est adapté à toutes les utilisations. S’il retourne zéro, le certificat n’a aucune utilisation valide.
Configuration requise
Client minimal pris en charge | Windows XP [applications de bureau | applications UWP] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau | applications UWP] |
Plateforme cible | Windows |
En-tête | wincrypt.h |
Bibliothèque | Crypt32.lib |
DLL | Crypt32.dll |