Fonction CertSetCRLContextProperty (wincrypt.h)
La fonction CertSetCRLContextProperty définit une propriété étendue pour le contexte de liste de révocation de certificats (CRL) spécifié.
Syntaxe
BOOL CertSetCRLContextProperty(
[in] PCCRL_CONTEXT pCrlContext,
[in] DWORD dwPropId,
[in] DWORD dwFlags,
[in] const void *pvData
);
Paramètres
[in] pCrlContext
Pointeur vers la structure CRL_CONTEXT .
[in] dwPropId
Identifie la propriété à définir. La valeur de dwPropId détermine le type et le contenu du paramètre pvData . Les identificateurs actuellement définis et le type de données à retourner dans pvData sont répertoriés dans le tableau suivant.
En règle générale, seules les propriétés suivantes sont définies :
- CERT_HASH_PROP_ID
- CERT_SHA1_HASH_PROP_ID
- CERT_MD5_HASH_PROP_ID
- CERT_SIGNATURE_HASH_PROP_ID
Valeur | Signification |
---|---|
|
Type de données pour pvData : pointeur vers un DWORD
Définit 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 spécifique ou un numéro de série. Aucune donnée dans pvData n’est associée à cette propriété. |
|
Type de données pour pvData : pointeur vers un tableau BYTE Définit une chaîne Unicode terminée par un caractère 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 Définit 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 Définit 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 : Définit 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 Définit une chaîne de caractères Unicode terminée par un caractère Null qui contient le nom complet de la liste de révocation de certificats. |
|
Type de données pour pvData : pointeur vers une structure CRYPT_DATA_BLOB .
Définit une chaîne contenant un ensemble d’algorithmes de clé publique L"<PUBKEY>/<BITLENGTH> » et de paires de longueurs de bits. Le point-virgule, L » ; », est utilisé comme délimiteur. La <valeur PUBKEY> identifie l’algorithme de clé publique CNG. Les algorithmes suivants sont pris en charge :
Note Cette propriété ne doit pas être définie pour un certificat de signataire OCSP délégué. Un certificat de signataire délégué est signé avec la même clé que celle utilisée pour signer le certificat d’objet et y est vérifié.
: L"RSA/2048 ; RSA/4096 » |
|
Type de données pour pvData : pointeur vers une structure CRYPT_DATA_BLOB .
Définit une chaîne qui contient un ensemble de paires d’algorithmes L"<SIGNATURE>/<HASH> ». Le point-virgule, L » ; », est utilisé comme délimiteur entre les paires. Cette propriété est définie uniquement lorsqu’une réponse OCSP est convertie en liste de révocation de certificats. Pour un certificat de signataire OCSP délégué, seule la paire d’algorithmes pour le certificat de signataire est retournée. Pour une chaîne de certificats de signataire OCSP indépendante, une paire d’algorithmes est retournée pour chaque certificat de la chaîne, à l’exception de la racine. La <valeur SIGNATURE> identifie l’algorithme de clé publique CNG. Les algorithmes suivants sont pris en charge :
|
|
Type de données pour pvData : pointeur vers une structure CRYPT_DATA_BLOB .
Définit la longueur, en bits, de la clé publique dans le certificat d’émetteur de liste de révocation de certificats. Cette propriété s’applique également à un OCSP qui a été converti en liste de révocation de certificats. Cette propriété est explicitement définie par les fonctions de vérification de révocation. Windows 8 et Windows Server 2012 : la prise en charge de cette propriété commence. |
|
Type de données pour pvData : pointeur vers un CERT_KEY_CONTEXT
Définit une structure CERT_KEY_CONTEXT . |
|
Type de données pour pvData : pointeur vers un tableau BYTE |
|
Type de données pour pvData : pointeur vers un HCRYPTPROV
Définit le handle du fournisseur obtenu à partir du CERT_KEY_CONTEXT_PROP_ID. |
|
Type de données pour pvData : pointeur vers un CRYPT_KEY_PROV_INFO
Définit un pointeur vers une structure CRYPT_KEY_PROV_INFO . |
|
Type de données pour pvData : pointeur vers un DWORD
Définit 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 Définit le hachage MD5. Vous pouvez calculer le hachage à l’aide de la fonction CryptHashCertificate . |
|
Type de données pour pvData : pointeur vers un tableau BYTE Définit la structure de CERT_ALT_NAME_INFO encodée ASN.1 sur une CTL. |
|
Type de données pour pvData : pointeur vers un tableau BYTE Définit une chaîne de caractères large unicode terminée par un caractère null spécifiant le nom du fichier qui contient la clé privée associée à la clé publique du certificat. |
|
Type de données pour pvData : pointeur vers un tableau BYTE Définit le hachage SHA1. Vous pouvez calculer le hachage à l’aide de CryptHashCertificate. |
|
Type de données de pvData : pointeur vers une structure CRYPT_DATA_BLOB .
Définit la chaîne L"<SIGNATURE>/<HASH> » qui représente la signature de certificat. La <valeur SIGNATURE> identifie l’algorithme de clé publique CNG. Les algorithmes suivants sont pris en charge :
Cette propriété est explicitement définie par les fonctions de vérification de révocation. Windows 8 et Windows Server 2012 : la prise en charge de cette propriété commence. |
|
Type de données pour pvData : pointeur vers un tableau BYTE Définit 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. |
L’utilisateur peut définir des types dwPropId supplémentaires à l’aide de valeurs DWORD de CERT_FIRST_USER_PROP_ID à CERT_LAST_USER_PROP_ID. Pour tous les types dwPropId définis par l’utilisateur, pvData pointe vers un CRYPT_DATA_BLOB encodé.
Pour tous les autres identificateurs de propriété, pvData pointe vers une structure de CRYPT_DATA_BLOB encodée.
[in] dwFlags
CERT_STORE_NO_CRYPT_RELEASE_FLAG peut être défini pour les propriétés CERT_KEY_PROV_HANDLE_PROP_ID ou CERT_KEY_CONTEXT_PROP_ID dwPropId .
Si la valeur CERT_SET_PROPERTY_IGNORE_PERSIST_ERROR_FLAG est définie, toutes les erreurs d’écriture de fournisseur sont ignorées et les propriétés du contexte mis en cache sont toujours définies.
Si le CERT_SET_PROPERTY_INHIBIT_PERSIST_FLAG est défini, aucun jeu de propriétés n’est conservé.
[in] pvData
Pointeur vers un type de données déterminé par la valeur passée dans dwPropId.
Valeur retournée
Si la fonction réussit, la valeur de retour est TRUE.
Si la fonction échoue, la valeur de retour est FALSE. Pour obtenir des informations d’erreur étendues, appelez GetLastError. Un code d’erreur possible est le suivant.
Code de retour | Description |
---|---|
|
La propriété n’est pas valide. L’identificateur spécifié était supérieur à 0x0000FFFF ou, pour la propriété CERT_KEY_CONTEXT_PROP_ID, un membre cbSize non valide a été spécifié dans la structure CERT_KEY_CONTEXT . |
Remarques
Si une propriété existe déjà, son ancienne valeur est remplacée.
Exemples
Pour obtenir un exemple qui utilise cette fonction, consultez Exemple de programme C : obtention et définition des propriétés de certificat.
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 |