Función CryptImportPublicKeyInfoEx (wincrypt.h)
Sintaxis
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
);
Parámetros
[in] hCryptProv
Identificador del CSP para recibir la clave pública importada. Este identificador ya debe haberse creado con CryptAcquireContext.
[in] dwCertEncodingType
Especifica el tipo de codificación usado. Siempre es aceptable especificar los tipos de codificación de certificados y mensajes al combinarlos con una operación OR bit a bit, como se muestra en el ejemplo siguiente:
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING
Los tipos de codificación definidos actualmente son:
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
[in] pInfo
la dirección de una estructura de CERT_PUBLIC_KEY_INFO que contiene la clave pública que se va a importar en el proveedor.
[in] aiKeyAlg
Estructura ALG_ID que contiene un algoritmo específico de CSP para invalidar el algoritmo predeterminado CALG_RSA_KEYX .
[in] dwFlags
Reservado para uso futuro y debe ser cero.
[in] pvAuxInfo
Reservado para uso futuro y debe ser NULL.
[out] phKey
Dirección de una variable HCRYPTKEY que recibe el identificador de la clave pública importada. Cuando haya terminado de usar la clave pública, libere el identificador llamando a la función CryptDestroyKey .
Valor devuelto
Si la función se ejecuta correctamente, la función devuelve un valor distinto de cero (TRUE).
Si se produce un error en la función, devuelve cero (FALSE). Para obtener información de error extendida, llame a GetLastError.
Valor | Descripción |
---|---|
|
No se encontró una función de importación que se puede instalar o registrar para los parámetros dwCertEncodingType y pInfo especificados. |
Si se produce un error en la función, GetLastError puede devolver un error de codificación y descodificación de sintaxis abstracta Uno (ASN.1). Para obtener información sobre estos errores, vea Valores devueltos de codificación/descodificación de ASN.1.
Comentarios
Esta función se usa normalmente para recuperar la clave pública de un certificado. Para ello, se pasa la estructura de CERT_PUBLIC_KEY_INFO de una estructura de certificado rellenada, como se muestra en el pseudocódigo siguiente.
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)
}
Requisitos
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | wincrypt.h |
Library | Crypt32.lib |
Archivo DLL | Crypt32.dll |