Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 |