Função CryptExportPKCS8Ex (wincrypt.h)
[A função CryptExportPKCS8Ex não está mais disponível para uso desde o Windows Server 2008 e o Windows Vista. Em vez disso, use a função PFXExportCertStoreEx .]
A função CryptExportPKCS8Ex exporta a chave privada no formato PKCS nº 8. Essa função não tem nenhuma biblioteca de importação associada. Você deve usar as funções LoadLibrary e GetProcAddress para vincular dinamicamente a Crypt32.dll.
Sintaxe
BOOL CryptExportPKCS8Ex(
[in] CRYPT_PKCS8_EXPORT_PARAMS *psExportParams,
[in] DWORD dwFlags,
[in, optional] void *pvAuxInfo,
[out, optional] BYTE *pbPrivateKeyBlob,
[in, out] DWORD *pcbPrivateKeyBlob
);
Parâmetros
[in] psExportParams
Um ponteiro para uma estrutura CRYPT_PKCS8_EXPORT_PARAMS que contém informações sobre a chave a ser exportada.
[in] dwFlags
Esse parâmetro deverá ser zero se pbPrivateKeyBlob for NULL e 0x8000 caso contrário.
[in, optional] pvAuxInfo
Esse parâmetro deve ser NULL.
[out, optional] pbPrivateKeyBlob
Um ponteiro para uma matriz de estruturas BYTE para receber a chave privada a ser exportada.
A chave privada conterá as informações em um tipo ASN.1 (PrivateKeyInfo Abstract Syntax Notation One ) PKCS nº 8 encontrado no padrão PKCS nº 8.
Para fins de alocação de memória, você pode obter o tamanho da chave privada a ser exportada definindo esse parâmetro como NULL. Para obter mais informações, consulte Recuperando dados de comprimento desconhecido.
[in, out] pcbPrivateKeyBlob
Um ponteiro para um DWORD que pode conter, na entrada, o tamanho, em bytes, da alocação de memória necessária para conter o pbPrivateKeyBlob. Se pbPrivateKeyBlob for NULL, esse parâmetro retornará o tamanho da alocação de memória necessária para uma segunda chamada para a função. Para obter mais informações, consulte Recuperando dados de comprimento desconhecido.
Retornar valor
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 a seguir são específicos para essa função.
Código de retorno | Descrição |
---|---|
|
Não foi possível encontrar uma função de exportação que possa ser instalada ou registrada. |
|
Se o buffer especificado pelo parâmetro pbPrivateKeyBlob não for grande o suficiente para manter os dados retornados, a função definirá o código ERROR_MORE_DATA e armazenará o tamanho do buffer necessário, em bytes, na variável apontada pelo parâmetro pcbPrivateKeyBlob . |
Se a função falhar, GetLastError retornará um erro de codificação/decodificação ASN.1. Para obter informações sobre esses erros, consulte Valores retornados de codificação/decodificação asn.1.
Comentários
Essa função só tem suporte para chaves assimétricas.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | wincrypt.h |
DLL | Crypt32.dll |