PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC función de devolución de llamada (wincrypt.h)
[La función PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC está disponible para su uso en los sistemas operativos especificados en la sección Requisitos. Puede modificarse o no estar disponible en versiones posteriores.
La función PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC cifra la clave privada y devuelve el contenido cifrado en el parámetro pbEncryptedKey . Se trata de una función de devolución de llamada identificada en una estructura de CRYPT_PKCS8_EXPORT_PARAMS que crea una estructura PKCS #8 CRYPT_ENCRYPTED_PRIVATE_KEY_INFO . El desarrollador debe implementar la función para que se adapte a cada aplicación.
Sintaxis
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
Puntero a una estructura de CRYPT_ALGORITHM_IDENTIFIER para recibir el algoritmo utilizado para cifrar el tipo ASN.1 PrivateKeyInfo que se encuentra en el estándar PKCS #8.
[in] pClearTextPrivateKey
Puntero a una estructura de CRYPT_DATA_BLOB que contiene la clave privada de texto no cifrado que se va a cifrar.
[out] pbEncryptedKey
Puntero a un búfer BYTE para recibir el BLOB de clave privada cifrada. Si este parámetro es NULL, pcbEncryptedKey devolverá el tamaño, en bytes, de la memoria necesaria para contener la clave cifrada en una llamada posterior a esta función.
[in, out] pcbEncryptedKey
Puntero a una variable DWORD que contiene el tamaño, en bytes, del búfer pbEncryptedKey . Si pbEncryptedKey es NULL, pcbEncryptedKey se establece en el tamaño, en bytes, necesario para cifrar la clave. Para obtener más información, vea Recuperar datos de longitud desconocida.
[in] pVoidEncryptFunc
Variable LPVOID que contiene datos usados para el cifrado, como clave, vector de inicialización y contraseña.
Valor devuelto
Si la función se ejecuta correctamente, la función devuelve un valor distinto de cero (TRUE).
Si se produce un error en la función, devuelve cero (FALSE).
Requisitos
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | wincrypt.h |