Fonction CertGetCTLContextProperty (wincrypt.h)
La fonction CertGetCTLContextProperty récupère une propriété étendue d’un contexte de liste d’approbation de certificats (CTL).
Syntaxe
BOOL CertGetCTLContextProperty(
[in] PCCTL_CONTEXT pCtlContext,
[in] DWORD dwPropId,
[out] void *pvData,
[in, out] DWORD *pcbData
);
Paramètres
[in] pCtlContext
Pointeur vers la structure CTL_CONTEXT .
[in] dwPropId
Identifie la propriété à récupérer. Les identificateurs actuellement définis et le type de données à retourner dans pvData sont répertoriés dans le tableau suivant.
Valeur | Signification |
---|---|
|
Type de données pour pvData : pointeur vers un DWORD
Retourne une valeur DWORD indiquant si les opérations d’écriture dans le certificat sont conservées. La valeur DWORD n’est pas définie si le certificat se trouve dans un magasin de mémoire ou dans un magasin basé sur le Registre ouvert en lecture seule. |
|
Type de données pour pvData : NULL
Indique que le certificat est ignoré pendant les énumérations. Un certificat avec ce jeu de propriétés est trouvé avec des opérations de recherche explicites, telles que celles utilisées pour rechercher un certificat avec un hachage ou un numéro de série spécifique. Aucune donnée dans pvData n’est associée à cette propriété. |
|
Type de données pour pvData : pointeur vers un tableau BYTE Retourne une chaîne Unicode terminée par null nommant le type de certificat pour lequel le certificat a été inscrit automatiquement. |
|
Type de données pour pvData : pointeur vers un tableau BYTE Retourne un tableau d’octets contenant une structure CTL_USAGE encodée ASN.1 (Abstract Syntax Notation One). |
|
Type de données pour pvData : pointeur vers un tableau BYTE Retourne la propriété affichée par l’interface utilisateur du certificat. Cette propriété permet à l’utilisateur de décrire l’utilisation du certificat. |
|
Type de données pour pvData : pointeur vers un tableau BYTE Retourne un tableau d’octets contenant une structure de CERT_ENHKEY_USAGE encodée ASN.1. |
|
Type de données pour pvData : pointeur vers un tableau BYTE Retourne une chaîne de caractères Unicode terminée par null qui contient le nom d’affichage de la CTL. |
|
Type de données pour pvData : pointeur vers un tableau BYTE Retourne le hachage SHA1. Si le hachage n’existe pas, il est calculé à l’aide de CryptHashCertificate. |
|
Type de données pour pvData : pointeur vers un CERT_KEY_CONTEXT
Retourne une structure CERT_KEY_CONTEXT . |
|
Type de données pour pvData : pointeur vers un tableau BYTE S’il n’existe pas, recherche l’extension szOID_SUBJECT_KEY_IDENTIFIER. En cas d’échec, un hachage SHA1 est effectué sur le membre SubjectPublicKeyInfo du certificat pour produire les valeurs d’identificateur. |
|
Type de données pour pvData : pointeur vers un HCRYPTPROV
Retourne le handle du fournisseur obtenu à partir du CERT_KEY_CONTEXT_PROP_ID. |
|
Type de données pour pvData : pointeur vers une structure CRYPT_KEY_PROV_INFO Retourne un pointeur vers un CRYPT_KEY_PROV_INFO. |
|
Type de données pour pvData : pointeur vers un DWORD
Retourne une valeur DWORD spécifiant la clé privée obtenue à partir de CERT_KEY_CONTEXT_PROP_ID propriété si elle existe. Sinon, si CERT_KEY_PROV_INFO_PROP_ID existe, il s’agit de la source du dwKeySpec. |
|
Type de données pour pvData : pointeur vers un tableau BYTE Retourne le hachage MD5. Si le hachage n’existe pas, il est calculé à l’aide de CryptHashCertificate. |
|
Type de données pour pvData : pointeur vers un tableau BYTE Retourne la structure de CERT_ALT_NAME_INFO encodée ASN.1. CERT_NEXT_UPDATE_LOCATION_PROP_ID est actuellement utilisé uniquement avec les listes de contrôle d’accès partagé. |
|
Type de données pour pvData : pointeur vers un tableau BYTE Retourne une chaîne de caractères larges Unicode terminée par un caractère null qui spécifie le nom de fichier contenant la clé privée associée à la clé publique du certificat. |
|
Type de données pour pvData : pointeur vers un tableau BYTE Retourne le hachage SHA1. Si le hachage n’existe pas, il est calculé à l’aide de CryptHashCertificate. |
|
Type de données pour pvData : pointeur vers un tableau BYTE Retourne le hachage de signature. Si le hachage n’existe pas, il est calculé avec CryptHashToBeSigned. La longueur du hachage est de 20 octets pour SHA et de 16 pour MD5. |
Pour tous les autres identificateurs de propriété, pvData pointe vers un tableau d’octets et non vers un CRYPT_DATA_BLOB comme indiqué par le paramètre pvData dans CertSetCertificateContextProperty.
Pour plus d’informations sur chaque identificateur de propriété, consultez la documentation sur le paramètre dwPropId dans CertSetCertificateContextProperty. CERT_SHA1_HASH_PROP_ID et CERT_NEXT_UPDATE_LOCATION_PROP_ID sont les propriétés prédéfinies les plus intéressantes.
[out] pvData
Pointeur vers une mémoire tampon pour recevoir les données déterminées par dwPropId. Les structures pointées par les membres d’une structure retournée sont également retournées après la structure de base. Par conséquent, la taille contenue dans pcbData dépasse souvent la taille de la structure de base.
Ce paramètre peut être NULL pour définir la taille des informations à des fins d’allocation de mémoire. Pour plus d’informations, consultez Récupération de données de longueur inconnue.
[in, out] pcbData
Pointeur vers une valeur DWORD spécifiant la taille, en octets, de la mémoire tampon vers laquelle pointe le paramètre pvData . Lorsque la fonction retourne, la valeur DWORD contient le nombre d’octets à stocker dans la mémoire tampon.
Valeur retournée
Si la fonction réussit, la valeur de retour est TRUE.
Si la fonction échoue, la valeur de retour est FALSE.
Les erreurs de la fonction appelée , CryptHashCertificate, peuvent être propagées à cette fonction. Pour obtenir des informations d’erreur étendues, appelez GetLastError.
Certains codes d’erreur possibles suivent.
Code de retour | Description |
---|---|
|
La CTL n’a pas la propriété spécifiée. |
|
Si la mémoire tampon spécifiée par le paramètre pvData n’est pas assez grande pour contenir les données retournées, la fonction définit le code ERROR_MORE_DATA et stocke la taille de mémoire tampon requise, en octets, dans la variable pointée par pcbData. |
Configuration requise
Condition requise | Valeur |
---|---|
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 |