Share via


Função CryptImportPublicKeyInfoEx2 (wincrypt.h)

A função CryptImportPublicKeyInfoEx2 importa uma chave pública para o provedor assimétrico CNG que corresponde ao OID (identificador de objeto de chave pública) e retorna um identificador CNG para a chave.

Sintaxe

BOOL CryptImportPublicKeyInfoEx2(
  [in]  DWORD                 dwCertEncodingType,
  [in]  PCERT_PUBLIC_KEY_INFO pInfo,
  [in]  DWORD                 dwFlags,
  [in]  void                  *pvAuxInfo,
  [out] BCRYPT_KEY_HANDLE     *phKey
);

Parâmetros

[in] dwCertEncodingType

O tipo de codificação de certificado que foi usado para criptografar o assunto. O identificador de tipo de codificação de mensagem , contido no WORD alto desse valor, é ignorado por essa função.

Esse parâmetro pode ser o seguinte tipo de codificação de certificado definido no momento.

Valor Significado
X509_ASN_ENCODING
1 (0x1)
Especifica a codificação de certificado X.509 .

[in] pInfo

O endereço de uma estrutura CERT_PUBLIC_KEY_INFO que contém as informações de chave pública a serem importadas para o provedor.

[in] dwFlags

Um conjunto de sinalizadores que modificam o comportamento dessa função. Isso pode ser zero ou uma combinação de um ou mais dos valores a seguir.

Valor Significado
CRYPT_OID_INFO_PUBKEY_SIGN_KEY_FLAG
Ignora chaves públicas no grupo de CRYPT_PUBKEY_ALG_OID_GROUP_ID que são sinalizadas explicitamente com o sinalizador CRYPT_OID_PUBKEY_ENCRYPT_ONLY_FLAG.
CRYPT_OID_INFO_PUBKEY_ENCRYPT_KEY_FLAG
Ignora chaves públicas no grupo de CRYPT_PUBKEY_ALG_OID_GROUP_ID que são sinalizadas explicitamente com o sinalizador CRYPT_OID_PUBKEY_SIGN_ONLY_FLAG.
 

Esses sinalizadores são passados no parâmetro dwKeyType da função CryptFindOIDInfo ao mapear o identificador de objeto de chave pública para o identificador de algoritmo de chave pública CNG correspondente.

[in] pvAuxInfo

Esse parâmetro é reservado para uso futuro e deve ser definido como NULL.

[out] phKey

O endereço de uma variável BCRYPT_KEY_HANDLE que recebe o identificador da chave importada.

Quando esse identificador não for mais necessário, você deverá liberá-lo chamando a função BCryptDestroyKey .

Valor retornado

Se a função for bem-sucedida, a função retornará diferente de zero (TRUE).

Se a função falhar, ela retornará zero (FALSE). Para obter informações de erro estendidas, chame GetLastError. Os códigos de erro possíveis incluem, mas não se limitam a, o seguinte.

Código de retorno Descrição
ERROR_FILE_NOT_FOUND
Uma função de importação que pode ser instalada ou registrada não pôde ser encontrada para os parâmetros dwCertEncodingType e pInfo especificados.
E_INVALIDARG
Um ou mais dos parâmetros não são válidos.

Requisitos

   
Cliente mínimo com suporte Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho wincrypt.h
Biblioteca Crypt32.lib
DLL Crypt32.dll

Confira também

CERT_PUBLIC_KEY_INFO