Compartilhar via


função de retorno de chamada PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC (wincrypt.h)

[A função PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Ele pode estar alterado ou indisponível em versões subsequentes.]

A função PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC criptografa a chave privada e retorna o conteúdo criptografado no parâmetro pbEncryptedKey . É uma função de retorno de chamada identificada em uma estrutura de CRYPT_PKCS8_EXPORT_PARAMS que cria uma estrutura de CRYPT_ENCRYPTED_PRIVATE_KEY_INFO PKCS nº 8. A função deve ser implementada pelo desenvolvedor para atender a cada aplicativo.

Sintaxe

PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC PcryptEncryptPrivateKeyFunc;

BOOL PcryptEncryptPrivateKeyFunc(
  [out]     CRYPT_ALGORITHM_IDENTIFIER *pAlgorithm,
  [in]      CRYPT_DATA_BLOB *pClearTextPrivateKey,
  [out]     BYTE *pbEncryptedKey,
  [in, out] DWORD *pcbEncryptedKey,
  [in]      LPVOID pVoidEncryptFunc
)
{...}

Parâmetros

[out] pAlgorithm

Um ponteiro para uma estrutura CRYPT_ALGORITHM_IDENTIFIER para receber o algoritmo usado para criptografar o tipo ASN.1 PrivateKeyInfo encontrado no padrão PKCS nº 8.

[in] pClearTextPrivateKey

Um ponteiro para uma estrutura CRYPT_DATA_BLOB que contém a chave privada de texto sem formatação a ser criptografada.

[out] pbEncryptedKey

Um ponteiro para um buffer BYTE para receber o BLOB de chave privada criptografada. Se esse parâmetro for NULL, pcbEncryptedKey retornará o tamanho, em bytes, da memória necessária para conter a chave criptografada em uma chamada subsequente para essa função.

[in, out] pcbEncryptedKey

Um ponteiro para uma variável DWORD que contém o tamanho, em bytes, do buffer pbEncryptedKey . Se pbEncryptedKey for NULL, pcbEncryptedKey será definido como o tamanho, em bytes, necessário para criptografar a chave. Para obter mais informações, consulte Recuperando dados de comprimento desconhecido.

[in] pVoidEncryptFunc

Uma variável LPVOID que contém dados usados para criptografia, como chave, vetor de inicialização e senha.

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).

Requisitos

   
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

Confira também

CRYPT_PKCS8_EXPORT_PARAMS

PCRYPT_DECRYPT_PRIVATE_KEY_FUNC