Freigeben über


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 umschlagierten Nachricht. PFN_CMSG_EXPORT_KEY_TRANS können mithilfe einer CryptoAPIObjektbezeichner (OID) installiert werden. Diese Funktion wird von der funktion CryptMsgOpenToEncode Funktion aufgerufen, wenn der dwMsgType Parameter auf CMSG_ENVELOPEDfestgelegt 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 Empfängerschlüssel 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üsselten Inhaltsverschlüsselungsschlüssel enthält.

[in] dwFlags

Dieser Wert wird nicht verwendet. Legen Sie sie auf 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 null (FALSE). Rufen Sie für erweiterte Fehlerinformationen GetLastError-auf.

Bemerkungen

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

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

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

fCNG-Wert Konstante Definition
FALSCH CMSG_OID_EXPORT_KEY_TRANS_FUNC oder CMSG_OID_CAPI1_EXPORT_KEY_TRANS_FUNC "CryptMsgDllExportKeyTrans"
STIMMT CMSG_OID_CNG_EXPORT_KEY_TRANS_FUNC "CryptMsgDllCNGExportKeyTrans"

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows XP [nur Desktop-Apps]
mindestens unterstützte Server- Windows Server 2003 [Nur Desktop-Apps]
Zielplattform- Fenster
Header- wincrypt.h