PFN_CMSG_IMPORT_KEY_TRANS función de devolución de llamada (wincrypt.h)

La función de devolución de llamada PFN_CMSG_IMPORT_KEY_TRANS importa una clave de cifrado de contenido para un destinatario de transporte de claves de un mensaje sobre. PFN_CMSG_IMPORT_KEY_TRANS se puede instalar mediante un identificador de objetoCryptoAPI. La función CryptMsgControl llama a esta función cuando su parámetro dwCtrlType se establece en CMSG_CTRL_DECRYPT.

Sintaxis

PFN_CMSG_IMPORT_KEY_TRANS PfnCmsgImportKeyTrans;

BOOL PfnCmsgImportKeyTrans(
  [in]  PCRYPT_ALGORITHM_IDENTIFIER pContentEncryptionAlgorithm,
  [in]  PCMSG_CTRL_KEY_TRANS_DECRYPT_PARA pKeyTransDecryptPara,
  [in]  DWORD dwFlags,
        void *pvReserved,
  [out] HCRYPTKEY *phContentEncryptKey
)
{...}

Parámetros

[in] pContentEncryptionAlgorithm

Puntero a una estructura de CRYPT_ALGORITHM_IDENTIFIER que especifica el algoritmo utilizado para cifrar el contenido del mensaje y los parámetros asociados.

[in] pKeyTransDecryptPara

Puntero a una estructura de CMSG_CTRL_KEY_TRANS_DECRYPT_PARA que contiene información sobre el destinatario del transporte de claves.

[in] dwFlags

Este valor no se utiliza. Establézcalo en cero.

pvReserved

Este parámetro está reservado y debe ser NULL.

[out] phContentEncryptKey

Dirección de un identificador de la clave de cifrado de contenido devuelta por esta función.

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

Comentarios

Puede usar funciones de compatibilidad de OID para implementar esta función de devolución de llamada. Wincrypt.h define las constantes siguientes para este propósito.

Constante Definición
CMSG_OID_IMPORT_KEY_TRANS_FUNC o CMSG_OID_CAPI1_IMPORT_KEY_TRANS_FUNC "CryptMsgDllImportKeyTrans"

Requisitos

Requisito Value
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