PFN_CMSG_CNG_IMPORT_KEY_TRANS Rückruffunktion (wincrypt.h)
Die PFN_CMSG_CNG_IMPORT_KEY_TRANS Rückruffunktion importiert und entschlüsselt einen Inhaltsverschlüsselungsschlüssel (Content Encryption Key, CEK), der für einen Schlüsseltransportempfänger bestimmt ist. PFN_CMSG_CNG_IMPORT_KEY_TRANS können mithilfe einer Kryptografie-API installiert werden: Objektbezeichner der nächsten Generation (CNG) (OID).
Syntax
PFN_CMSG_CNG_IMPORT_KEY_TRANS PfnCmsgCngImportKeyTrans;
BOOL PfnCmsgCngImportKeyTrans(
[in, out] PCMSG_CNG_CONTENT_DECRYPT_INFO pCNGContentDecryptInfo,
[in] PCMSG_CTRL_KEY_TRANS_DECRYPT_PARA pKeyTransDecryptPara,
[in] DWORD dwFlags,
void *pvReserved
)
{...}
Parameter
[in, out] pCNGContentDecryptInfo
Ein Zeiger auf eine CMSG_CNG_CONTENT_DECRYPT_INFO Struktur, die mit den entschlüsselten CEK-Bytes aktualisiert werden soll. Dieser Parameter enthält den Schlüssel, der zum Entschlüsseln des CEK verwendet wird. Der folgende pKeyTransDecryptPara-Parameter enthält die zu entschlüsselnden CEK-Bytes.
[in] pKeyTransDecryptPara
Ein Zeiger auf eine CMSG_CTRL_KEY_TRANS_DECRYPT_PARA-Struktur , die die Schlüsseltransportinformationen enthält, die an die CryptMsgControl-Funktion in den CMSG_CTRL_DECRYPT - oder CMSG_CTRL_KEY_TRANS_DECRYPT Fällen übergeben wurden. Für den CMSG_CTRL_DECRYPT Fall konvertiert CryptMsgControl die CMSG_CTRL_DECRYPT_PARA-Struktur in eine CMSG_CTRL_KEY_TRANS_DECRYPT_PARA-Struktur .
Das EncryptedKey-Element des pKeyTrans-Members enthält die zu entschlüsselnden CEK-Bytes. Da eine CMSG_CTRL_KEY_TRANS_DECRYPT_PARA-Struktur eine HCRYPTPROV-Option enthalten kann, darf ihr hNCryptKey-Member nicht zum Entschlüsseln von EncryptedKey verwendet werden. Stattdessen müssen Sie den im Parameter pCNGContentDecryptInfo angegebenen hNCryptKey verwenden.
Diese Funktion darf keine Member der CMSG_CTRL_KEY_TRANS_DECRYPT_PARA-Struktur aktualisieren.
[in] dwFlags
Dieser Parameter ist reserviert. Legen Sie sie auf 0 fest.
pvReserved
Dieser Parameter ist reserviert. Legen Sie sie auf NULL fest.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert nonzero (TRUE).
Wenn die Funktion fehlschlägt, ist der Rückgabewert 0 (FALSE). Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen zu erhalten.
Wenn diese Rückruffunktion den Schlüsselverschlüsselungsalgorithmus nicht unterstützt, muss sie FALSE zurückgeben und SetLastError mit ERROR_NOT_SUPPORTED aufrufen.
Hinweise
Die CryptMsgControl-Funktion ruft diese Funktion für die folgenden Vorgänge auf, die durch den dwCtrlType-Parameter angegeben werden:
CMSG_CTRL_DECRYPTCMSG_CTRL_KEY_TRANS_DECRYPT Sie können diese Rückruffunktion mithilfe von OID-Unterstützungsfunktionen bereitstellen. Wincrypt.h definiert die folgende Konstante für diesen Zweck.
Dauerhaft | Definition |
---|---|
CMSG_OID_CNG_IMPORT_KEY_TRANS_FUNC | "CryptMsgDllCNGImportKeyTrans" |
Beispiele
Ein Beispiel, das eine OID-installierbare Rückruffunktion bereitstellt, finden Sie unter Erweitern der CryptoAPI-Funktionalität.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | wincrypt.h |