Función CryptExportPublicKeyInfoFromBCryptKeyHandle (wincrypt.h)

La función CryptExportPublicKeyInfoFromBCryptKeyHandle exporta la información de clave pública asociada a la clave privada correspondiente de un proveedor.

Sintaxis

BOOL CryptExportPublicKeyInfoFromBCryptKeyHandle(
  [in]            BCRYPT_KEY_HANDLE     hBCryptKey,
  [in]            DWORD                 dwCertEncodingType,
  [in, optional]  LPSTR                 pszPublicKeyObjId,
  [in]            DWORD                 dwFlags,
  [in, optional]  void                  *pvAuxInfo,
  [out, optional] PCERT_PUBLIC_KEY_INFO pInfo,
  [in, out]       DWORD                 *pcbInfo
);

Parámetros

[in] hBCryptKey

Identificador de la clave desde la que se va a exportar la información de clave pública.

[in] dwCertEncodingType

Especifica el tipo de codificación que se va a coincidir.

Este valor puede ser una combinación bit a bit de los tipos de codificación definidos actualmente:

  • X509_ASN_ENCODING
  • PKCS_7_ASN_ENCODING

[in, optional] pszPublicKeyObjId

Puntero al identificador de objeto (OID) que identifica la función instalable que se va a usar para exportar la clave. Si la palabra de orden superior del OID es distinto de cero, pszPublicKeyObjId es un puntero a una cadena OID como "2.5.29.1" o una cadena ASCII como "file". Si la palabra de orden superior del OID es cero, la palabra de orden bajo especifica el identificador entero que se va a usar como identificador de objeto.

[in] dwFlags

Valor DWORD que indica cómo se exporta la información de clave pública.

Valor Significado
CRYPT_OID_INFO_PUBKEY_SIGN_KEY_FLAG
0x80000000
Omite las claves públicas del grupo CRYPT_PUBKEY_ALG_OID_GROUP_ID que se marcan explícitamente con la marca CRYPT_OID_PUBKEY_ENCRYPT_ONLY_FLAG .
CRYPT_OID_INFO_PUBKEY_ENCRYPT_KEY_FLAG
0x40000000
Omite las claves públicas del grupo CRYPT_PUBKEY_ALG_OID_GROUP_ID que se marcan explícitamente con la marca CRYPT_OID_PUBKEY_SIGN_ONLY_FLAG .

[in, optional] pvAuxInfo

Este parámetro está reservado para uso futuro y debe establecerse en NULL.

[out, optional] pInfo

Puntero a una estructura de CERT_PUBLIC_KEY_INFO para recibir la información de clave pública que se va a exportar.

Este parámetro puede ser NULL para establecer el tamaño de esta información con fines de asignación de memoria. Para obtener más información, vea Recuperación de datos de longitud desconocida.

[in, out] pcbInfo

Puntero a un DWORD que contiene el tamaño, en bytes, del búfer al que apunta el parámetro pInfo . Cuando se devuelve la función, DWORD contiene el número de bytes almacenados en el búfer.

Valor devuelto

La función devuelve TRUE si se realiza correctamente; de lo contrario, devuelve FALSE.

Comentarios

Si la función CryptExportPublicKeyInfoFromBCryptKeyHandle no encuentra una función OID instalable para el OID especificado por el parámetro pszPublicKeyObjId , intenta exportar la clave como una clave pública RSA (szOID_RSA_RSA). Si la clave se exporta como una clave pública RSA, no se usan los valores de los parámetros dwFlags y pvAuxInfo .

Requisitos

Requisito Value
Cliente mínimo compatible Windows 7 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 R2 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado wincrypt.h
Library Crypt32.lib
Archivo DLL Crypt32.dll