PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC função de retorno de chamada (wincrypt.h)
A função de retorno de chamada PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC é chamada por CryptExportPublicKeyInfoEx para exportar um BLOB de chave pública e codificá-lo.
Sintaxe
PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC PfnCryptExportPublicKeyInfoEx2Func;
BOOL PfnCryptExportPublicKeyInfoEx2Func(
[in] NCRYPT_KEY_HANDLE hNCryptKey,
[in] DWORD dwCertEncodingType,
[in] LPSTR pszPublicKeyObjId,
[in] DWORD dwFlags,
[in, optional] void *pvAuxInfo,
[out, optional] PCERT_PUBLIC_KEY_INFO pInfo,
[in, out] DWORD *pcbInfo
)
{...}
Parâmetros
[in] hNCryptKey
Um identificador do CSP ( provedor de serviços criptográficos ) a ser usado ao exportar as informações de chave pública. Esse identificador deve ser um identificador NCRYPT_KEY_HANDLE que foi criado usando a função NCryptOpenKey .
[in] dwCertEncodingType
Um valor que especifica o tipo de codificação usado. É sempre aceitável especificar os tipos de codificação de certificado e mensagem combinando-os com uma operação OR bit a bit, conforme mostrado no exemplo a seguir:
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING
Os tipos de codificação definidos no momento são:
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
[in] pszPublicKeyObjId
Um ponteiro para uma cadeia de caracteres que contém o algoritmo de chave pública.
[in] dwFlags
Um valor que indica como as informações de chave pública são exportadas. Isso pode ser zero.
[in, optional] pvAuxInfo
Esse parâmetro é reservado para uso futuro e deve ser definido como NULL.
[out, optional] pInfo
Um ponteiro para uma estrutura CERT_PUBLIC_KEY_INFO para receber as informações de chave pública a serem exportadas.
Esse parâmetro pode ser NULL para definir o tamanho dessas informações para fins de alocação de memória. Para obter mais informações, consulte Recuperando dados de comprimento desconhecido.
[in, out] pcbInfo
Um ponteiro para um DWORD que contém o tamanho, em bytes, do buffer apontado pelo parâmetro pInfo . Quando a função retorna, o DWORD contém o número de bytes armazenados no buffer.
Valor retornado
Se a função for bem-sucedida, o valor retornado será diferente de zero (TRUE).
Se a função falhar, o valor retornado será zero (FALSE). Para obter informações de erro estendidas, chame GetLastError.
Se essa função de retorno de chamada não der suporte ao algoritmo de assinatura, ela deverá retornar FALSE e chamar SetLastError com ERROR_NOT_SUPPORTED.
Comentários
Você pode usar as funções de suporte do OID para implantar essa função de retorno de chamada. Wincrypt.h define a seguinte constante para essa finalidade.
Constante | Definição |
---|---|
CRYPT_OID_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC | "CryptDllExportPublicKeyInfoEx2" |
Requisitos
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | wincrypt.h |