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

La función de devolución de llamada PFN_CMSG_EXPORT_KEY_TRANS cifra y exporta la clave de cifrado de contenido para un destinatario de transporte de claves de un mensaje sobre. PFN_CMSG_EXPORT_KEY_TRANS se pueden instalar mediante una cryptoAPI identificador de objeto (OID). La función CryptMsgOpenToEncode llama a esta función cuando su parámetro dwMsgType se establece en CMSG_ENVELOPED.

Sintaxis

PFN_CMSG_EXPORT_KEY_TRANS PfnCmsgExportKeyTrans;

BOOL PfnCmsgExportKeyTrans(
  [in]      PCMSG_CONTENT_ENCRYPT_INFO pContentEncryptInfo,
  [in]      PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO pKeyTransEncodeInfo,
  [in, out] PCMSG_KEY_TRANS_ENCRYPT_INFO pKeyTransEncryptInfo,
  [in]      DWORD dwFlags,
            void *pvReserved
)
{...}

Parámetros

[in] pContentEncryptInfo

Puntero a una estructura de CMSG_CONTENT_ENCRYPT_INFO que contiene la clave de cifrado de contenido.

[in] pKeyTransEncodeInfo

Puntero a una estructura de CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO que especifica la clave pública del destinatario utilizada para cifrar la clave de cifrado de contenido.

[in, out] pKeyTransEncryptInfo

Puntero a una estructura de CMSG_KEY_TRANS_ENCRYPT_INFO que contiene la clave de cifrado de contenido cifrada.

[in] dwFlags

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

pvReserved

Este valor 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.

Observaciones

La función PFN_CMSG_EXPORT_KEY_TRANS debe actualizar el miembro EncryptedKey de la estructura de CMSG_KEY_TRANS_ENCRYPT_INFO a la que apunta el parámetro pKeyTransEncryptInfo . Esta función debe usar el pfnAlloc y miembros pfnFree de la estructura de CMSG_CONTENT_ENCRYPT_INFO a la que apunta el parámetro pContentEncryptInfo para administrar la asignación de memoria para la clave cifrada.

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

Debe definir diferentes funciones de devolución de llamada para claves CAPI1 y claves cryptography API: Next Generation (CNG). Ambas funciones tienen la misma firma, pero usan diferentes OID. La función a la que se llama depende del valor del fCNG miembro de la estructura de CMSG_CONTENT_ENCRYPT_INFO a la que apunta el parámetro pContentEncryptInfo. En la tabla siguiente se muestra la relación entre la función de devolución de llamada y el valor del miembro fCNG de .

fCNG value Constante Definición
FALSO CMSG_OID_EXPORT_KEY_TRANS_FUNC o CMSG_OID_CAPI1_EXPORT_KEY_TRANS_FUNC "CryptMsgDllExportKeyTrans"
VERDADERO CMSG_OID_CNG_EXPORT_KEY_TRANS_FUNC "CryptMsgDllCNGExportKeyTrans"

Requisitos

Requisito Valor
cliente mínimo admitido Windows XP [solo aplicaciones de escritorio]
servidor mínimo admitido Windows Server 2003 [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de wincrypt.h