Fonction CertCreateCTLEntryFromCertificateContextProperties (wincrypt.h)

La fonction CertCreateCTLEntryFromCertificateContextProperties crée une entrée de liste d’approbation de certificat (CTL) dont les attributs sont les propriétés du contexte de certificat. SubjectIdentifier dans l’entrée CTL est le hachage SHA1 du certificat.

Les propriétés de certificat sont ajoutées en tant qu’attributs. L’attribut de propriété OID est le PROP_ID décimal précédé de szOID_CERT_PROP_ID_PREFIX. Chaque valeur de propriété est copiée en tant que valeur d’attribut unique.

Des attributs supplémentaires peuvent être inclus dans l’entrée CTL à l’aide des paramètres cOptAttr et rgOptAttr .

Syntaxe

BOOL CertCreateCTLEntryFromCertificateContextProperties(
  [in]      PCCERT_CONTEXT   pCertContext,
  [in]      DWORD            cOptAttr,
  [in]      PCRYPT_ATTRIBUTE rgOptAttr,
  [in]      DWORD            dwFlags,
  [in]      void             *pvReserved,
  [out]     PCTL_ENTRY       pCtlEntry,
  [in, out] DWORD            *pcbCtlEntry
);

Paramètres

[in] pCertContext

Pointeur vers le CERT_CONTEXT utilisé pour créer la CTL.

[in] cOptAttr

DWORD qui spécifie le nombre d’attributs supplémentaires à ajouter.

[in] rgOptAttr

Pointeur vers n’importe quel tableau d’attributs CRYPT_ATTRIBUTE à ajouter à la CTL.

[in] dwFlags

DWORD. Peut être défini sur CTL_ENTRY_FROM_PROP_CHAIN_FLAG pour forcer l’inclusion des propriétés de hachage de génération de chaîne en tant qu’attributs.

[in] pvReserved

Pointeur vers un VOID. Réservé pour un usage futur.

[out] pCtlEntry

Adresse d’un pointeur vers une structure CTL_ENTRY . Appelez cette fonction deux fois pour récupérer une entrée CTL. Définissez ce paramètre sur NULL lors du premier appel. Lorsque la fonction retourne, utilisez le nombre d’octets récupérés à partir du paramètre pcbCtlEntry pour allouer de la mémoire. Appelez à nouveau la fonction, en définissant ce paramètre sur l’adresse de la mémoire allouée.

[in, out] pcbCtlEntry

Pointeur vers un DWORD qui contient le nombre d’octets qui doivent être alloués pour la structure CTL_ENTRY . Appelez cette fonction deux fois pour récupérer le nombre d’octets. Pour le premier appel, définissez ce paramètre sur l’adresse d’une valeur DWORD qui contient zéro et définissez le paramètre pCtlEntry sur NULL. Si le premier appel réussit, la valeur DWORD contient le nombre d’octets que vous devez allouer pour la structure CTL_ENTRY . Allouez la mémoire requise et appelez à nouveau la fonction, en fournissant l’adresse de la mémoire dans le paramètre pCtlEntry .

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). Pour obtenir des informations d’erreur étendues, appelez GetLastError.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête wincrypt.h
Bibliothèque Crypt32.lib
DLL Crypt32.dll