PFN_CMSG_CNG_IMPORT_KEY_AGREE función de devolución de llamada (wincrypt.h)
La función de devolución de llamada PFN_CMSG_CNG_IMPORT_KEY_AGREE descifra una clave de cifrado de contenido (CEK) que está pensada para un destinatario del contrato de clave. PFN_CMSG_CNG_IMPORT_KEY_AGREE se puede instalar mediante un identificador de objeto (OID) cryptography API: Next Generation (CNG).
Sintaxis
PFN_CMSG_CNG_IMPORT_KEY_AGREE PfnCmsgCngImportKeyAgree;
BOOL PfnCmsgCngImportKeyAgree(
[in, out] PCMSG_CNG_CONTENT_DECRYPT_INFO pCNGContentDecryptInfo,
[in] PCMSG_CTRL_KEY_AGREE_DECRYPT_PARA pKeyAgreeDecryptPara,
[in] DWORD dwFlags,
void *pvReserved
)
{...}
Parámetros
[in, out] pCNGContentDecryptInfo
Puntero a una estructura de CMSG_CNG_CONTENT_DECRYPT_INFO que se va a actualizar con los bytes de CEK descifrados. Este parámetro contiene la clave usada para descifrar la CEK. El siguiente parámetro pKeyTransDecryptPara contiene los bytes cek que se van a descifrar.
[in] pKeyAgreeDecryptPara
Puntero a una estructura de CMSG_CTRL_KEY_AGREE_DECRYPT_PARA que contiene la información de acuerdo de clave que se pasa a la función CryptMsgControl en el caso CMSG_CTRL_KEY_AGREE_DECRYPT .
El miembro EncryptedKey del miembro pKeyAgree contiene los bytes cek que se van a descifrar. Dado que una estructura de CMSG_CTRL_KEY_AGREE_DECRYPT_PARA puede contener una opción HCRYPTPROV , su miembro hNCryptKey no debe usarse para descifrar EncryptedKey. En su lugar, debe usar el miembro hNCryptKey especificado en el parámetro pCNGContentDecryptInfo .
Esta función no debe actualizar los miembros de la estructura CMSG_CTRL_KEY_AGREE_DECRYPT_PARA .
[in] dwFlags
Este parámetro está reservado. Establézcalo en cero.
pvReserved
Este parámetro está reservado. Establézcalo en NULL.
Valor devuelto
Si la función se ejecuta correctamente, el valor devuelto es distinto de cero (TRUE).
Si se produce un error en la función, el valor devuelto es cero (FALSE). Para obtener información de error extendida, llame a GetLastError.
Si esta función de devolución de llamada no admite el algoritmo de cifrado de claves, debe devolver FALSE y llamar a SetLastError con ERROR_NOT_SUPPORTED.
Comentarios
La función CryptMsgControl llama a esta función para las siguientes operaciones especificadas por el parámetro dwCtrlType :
CMSG_CTRL_KEY_AGREE_DECRYPT Puede usar funciones de compatibilidad de OID para implementar esta función de devolución de llamada. Wincrypt.h define la siguiente constante para este propósito.
Constante | Definición |
---|---|
CMSG_OID_CNG_IMPORT_KEY_AGREE_FUNC | "CryptMsgDllCNGImportKeyAgree" |
Ejemplos
Para obtener un ejemplo en el que se implementa una función de devolución de llamada instalable de OID, consulte Extensión de la funcionalidad cryptoAPI.
Requisitos
Cliente mínimo compatible | Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | wincrypt.h |