Fonction CryptImportPublicKeyInfoEx (wincrypt.h)
Syntaxe
BOOL CryptImportPublicKeyInfoEx(
[in] HCRYPTPROV hCryptProv,
[in] DWORD dwCertEncodingType,
[in] PCERT_PUBLIC_KEY_INFO pInfo,
[in] ALG_ID aiKeyAlg,
[in] DWORD dwFlags,
[in] void *pvAuxInfo,
[out] HCRYPTKEY *phKey
);
Paramètres
[in] hCryptProv
Handle du fournisseur de solutions cloud pour recevoir la clé publique importée. Ce handle doit avoir déjà été créé à l’aide de CryptAcquireContext.
[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] pInfo
adresse d’une structure de CERT_PUBLIC_KEY_INFO qui contient la clé publique à importer dans le fournisseur.
[in] aiKeyAlg
Une structure ALG_ID qui contient un algorithme spécifique au fournisseur de solutions Cloud pour remplacer l’algorithme par défaut CALG_RSA_KEYX .
[in] dwFlags
Réservé à une utilisation future et doit être égal à zéro.
[in] pvAuxInfo
Réservé pour une utilisation ultérieure et doit avoir la valeur NULL.
[out] phKey
Adresse d’une variable HCRYPTKEY qui reçoit le handle de la clé publique importée. Une fois la clé publique terminée, relâchez le handle en appelant la fonction CryptDestroyKey .
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.
Valeur | Description |
---|---|
|
Une fonction d’importation qui peut être installée ou inscrite est introuvable pour les paramètres dwCertEncodingType et pInfo spécifiés. |
Si la fonction échoue, GetLastError peut renvoyer une erreur d’encodage/décodage asN.1 ( Abstract Syntax Notation One ). Pour plus d’informations sur ces erreurs, consultez Valeurs de retour d’encodage/décodage ASN.1.
Remarques
Cette fonction est normalement utilisée pour récupérer la clé publique à partir d’un certificat. Pour ce faire, passez la structure CERT_PUBLIC_KEY_INFO à partir d’une structure de certificat renseignée, comme indiqué dans le pseudocode suivant.
PCCERT_CONTEXT pCertContext
// Get the certificate context structure from a certificate.
pCertContext = CertCreateCertificateContext(...)
if(pCertContext)
{
HCRYPTKEY hCertPubKey
// Get the public key information for the certificate.
CryptImportPublicKeyInfo(
hCryptProv,
X509_ASN_ENCODING,
&pCertContext->pCertInfo->SubjectPublicKeyInfo,
&hCertPubKey)
CertFreeCertificateContext(pCertContext)
}
Configuration requise
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 |