Compartilhar via


Função CryptImportPublicKeyInfoEx2 (wincrypt.h)

A função CryptImportPublicKeyInfoEx2 importa uma chave pública para o provedor assimétrico CNG que corresponde à chave pública identificador de objeto (OID) 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 usado para criptografar o assunto. O tipo de codificação de mensagem identificador, contido no WORD de 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 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 as chaves públicas no grupo de CRYPT_PUBKEY_ALG_OID_GROUP_ID que são explicitamente sinalizadas 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 explicitamente sinalizadas 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 de retorno

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 parâmetros não são válidos.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
servidor com suporte mínimo Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP]
da Plataforma de Destino Windows
cabeçalho wincrypt.h
biblioteca Crypt32.lib
de DLL Crypt32.dll

Consulte também

CERT_PUBLIC_KEY_INFO