Partager via


CryptCreateKeyIdentifierFromCSP, fonction (wincrypt.h)

important cette API est déconseillée. Les logiciels nouveaux et existants doivent commencer à utiliser 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’un fournisseur de services de chiffrement (CSP) clé publiqueCRYPT_INTEGER_BLOB.

Cette fonction convertit une PUBLICKEYSTRUC d’un fournisseur de solutions cloud en structure X.509CERT_PUBLIC_KEY_INFO et l’encode. La structure encodée est ensuite hachage 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 à la fois le certificat et types d’encodage de message en les combinant avec une opération deOU 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 la clé publique identificateur d’objet (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 par 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 la PUBLICKEYSTRUC.

[in] dwFlags

Réservé pour une utilisation ultérieure et doit être égal à zéro.

[in] pvReserved

Réservé pour une utilisation ultérieure et doit être 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 des 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 est retournée, 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 de retour

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.

Exigences

Exigence Valeur
client minimum pris en charge Windows XP [applications de bureau uniquement]
serveur minimum pris en charge Windows Server 2003 [applications de bureau uniquement]
plateforme cible Windows
d’en-tête wincrypt.h
bibliothèque Crypt32.lib
DLL Crypt32.dll

Voir aussi

CryptEnumKeyIdentifierProperties

CryptGetKeyIdentifierProperty

CryptSetKeyIdentifierProperty

fonctions d’identificateur de clé