CryptCreateKeyIdentifierFromCSP, fonction (wincrypt.h)
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
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 |