PFN_CMSG_EXPORT_KEY_TRANS Rückruffunktion (wincrypt.h)

Die PFN_CMSG_EXPORT_KEY_TRANS Rückruffunktion verschlüsselt und exportiert den Inhaltsverschlüsselungsschlüssel für einen Schlüsseltransportempfänger einer umhüllten Nachricht. PFN_CMSG_EXPORT_KEY_TRANS können mithilfe eines CryptoAPI-Objektbezeichners (OID) installiert werden. Diese Funktion wird von der CryptMsgOpenToEncode-Funktion aufgerufen, wenn ihr dwMsgType-Parameter auf CMSG_ENVELOPED festgelegt ist.

Syntax

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

Parameter

[in] pContentEncryptInfo

Ein Zeiger auf eine CMSG_CONTENT_ENCRYPT_INFO-Struktur , die den Inhaltsverschlüsselungsschlüssel enthält.

[in] pKeyTransEncodeInfo

Ein Zeiger auf eine CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO-Struktur , die den öffentlichen Schlüssel des Empfängers angibt, der zum Verschlüsseln des Inhaltsverschlüsselungsschlüssels verwendet wird.

[in, out] pKeyTransEncryptInfo

Ein Zeiger auf eine CMSG_KEY_TRANS_ENCRYPT_INFO-Struktur , die den Verschlüsselungsschlüssel für verschlüsselten Inhalt enthält.

[in] dwFlags

Dieser Wert wird nicht verwendet. Legen Sie ihn auf 0 (null) fest.

pvReserved

Dieser Wert ist reserviert. Legen Sie sie auf NULL fest.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich null (TRUE).

Wenn die Funktion fehlschlägt, ist der Rückgabewert 0 (FALSE). Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen zu erhalten.

Hinweise

Die funktion PFN_CMSG_EXPORT_KEY_TRANS muss den EncryptedKey-Member der CMSG_KEY_TRANS_ENCRYPT_INFO Struktur aktualisieren, auf die der pKeyTransEncryptInfo-Parameter verweist. Diese Funktion muss die Member pfnAlloc und pfnFree der CMSG_CONTENT_ENCRYPT_INFO Struktur verwenden, auf die der pContentEncryptInfo-Parameter verweist, um die Speicherbelegung für den verschlüsselten Schlüssel zu verwalten.

Sie können OID-Unterstützungsfunktionen verwenden, um diese Rückruffunktion bereitzustellen. Wincrypt.h definiert zu diesem Zweck die folgenden Konstanten.

Sie müssen verschiedene Rückruffunktionen für CAPI1-Schlüssel und Kryptografie-API definieren: CNG-Schlüssel (Next Generation). Beide Funktionen verfügen über die gleiche Signatur, verwenden jedoch unterschiedliche OIDs. Welche Funktion aufgerufen wird, hängt vom Wert des fCNG-Elements der CMSG_CONTENT_ENCRYPT_INFO Struktur ab, auf die der pContentEncryptInfo-Parameter verweist. Die folgende Tabelle zeigt die Beziehung zwischen der Rückruffunktion und dem Wert des fCNG-Elements .

fCNG-Wert Dauerhaft Definition
false CMSG_OID_EXPORT_KEY_TRANS_FUNC oder CMSG_OID_CAPI1_EXPORT_KEY_TRANS_FUNC "CryptMsgDllExportKeyTrans"
true CMSG_OID_CNG_EXPORT_KEY_TRANS_FUNC "CryptMsgDllCNGExportKeyTrans"

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile wincrypt.h