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 |