Fonction CryptCreateKeyIdentifierFromCSP (wincrypt.h)

Important Cette API est déconseillée. Les logiciels nouveaux et existants doivent commencer à utiliser les API de nouvelle génération de chiffrement. Microsoft peut supprimer cette API dans les versions ultérieures.
 
La fonction CryptCreateKeyIdentifierFromCSP crée un identificateur de clé à partir d’une clé publiquede fournisseur de services de chiffrement (CSP) CRYPT_INTEGER_BLOB.

Cette fonction convertit un PUBLICKEYSTRUC d’un fournisseur de solutions cloud en structure X.509CERT_PUBLIC_KEY_INFO et l’encode. La structure encodée est ensuite hachée avec l’algorithme SHA1 pour obtenir l’identificateur de clé.

Syntaxe

BOOL CryptCreateKeyIdentifierFromCSP(
  [in]      DWORD                dwCertEncodingType,
  [in]      LPCSTR               pszPubKeyOID,
  [in]      const PUBLICKEYSTRUC *pPubKeyStruc,
  [in]      DWORD                cbPubKeyStruc,
  [in]      DWORD                dwFlags,
  [in]      void                 *pvReserved,
  [out]     BYTE                 *pbHash,
  [in, out] DWORD                *pcbHash
);

Paramètres

[in] dwCertEncodingType

Spécifie le type d’encodage utilisé. Il est toujours acceptable de spécifier les types d’encodage de certificat et de message en les combinant avec une opération OR au niveau du bit, comme illustré dans l’exemple suivant :

X509_ASN_ENCODING | PKCS_7_ASN_ENCODING

Les types d’encodage actuellement définis sont les suivants :

  • X509_ASN_ENCODING
  • PKCS_7_ASN_ENCODING

[in] pszPubKeyOID

Pointeur vers l’identificateur d’objet de clé publique (OID). Une valeur qui n’est pas NULL remplace l’OID par défaut obtenu à partir du membre aiKeyAlg de la structure pointée par pPubKeyStruc. Pour utiliser l’OID par défaut, définissez pszPubKeyOID sur NULL.

[in] pPubKeyStruc

Pointeur vers une structure PUBLICKEYSTRUC . Dans le cas par défaut, le membre aiKeyAlg de la structure pointée vers pPubKeyStruc est utilisé pour rechercher l’OID de clé publique. Lorsque la valeur de pszPubKeyOID n’est pas NULL, elle remplace la valeur par défaut.

[in] cbPubKeyStruc

Taille, en octets, de PUBLICKEYSTRUC.

[in] dwFlags

Réservé à une utilisation future et doit être égal à zéro.

[in] pvReserved

Réservé pour une utilisation ultérieure et doit avoir la valeur NULL.

[out] pbHash

Pointeur vers une mémoire tampon pour recevoir le hachage de la clé publique et l’identificateur de clé.

Pour obtenir la taille de ces informations à des fins d’allocation de mémoire, définissez ce paramètre sur NULL. Pour plus d’informations, consultez Récupération de données de longueur inconnue.

[in, out] pcbHash

Pointeur vers un DWORD qui spécifie la taille, en octets, de la mémoire tampon pointée par le paramètre pbHash . Lorsque la fonction retourne, le DWORD contient le nombre d’octets stockés dans la mémoire tampon. À l’aide du hachage SHA1, la longueur de la mémoire tampon requise est de vingt.

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

Voir aussi

CryptEnumKeyIdentifierProperties

CryptGetKeyIdentifierProperty

CryptSetKeyIdentifierProperty

Fonctions d’identificateur de clé