PFN_CMSG_CNG_IMPORT_KEY_AGREE Rückruffunktion (wincrypt.h)
Die PFN_CMSG_CNG_IMPORT_KEY_AGREE Rückruffunktion entschlüsselt einen Inhaltsverschlüsselungsschlüssel (Content Encryption Key, CEK), der für einen Schlüsselvereinbarungsempfänger vorgesehen ist. PFN_CMSG_CNG_IMPORT_KEY_AGREE kann mithilfe einer Kryptografie-API installiert werden: Objektbezeichner der nächsten Generation (CNG) (OID).
Syntax
PFN_CMSG_CNG_IMPORT_KEY_AGREE PfnCmsgCngImportKeyAgree;
BOOL PfnCmsgCngImportKeyAgree(
[in, out] PCMSG_CNG_CONTENT_DECRYPT_INFO pCNGContentDecryptInfo,
[in] PCMSG_CTRL_KEY_AGREE_DECRYPT_PARA pKeyAgreeDecryptPara,
[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] pKeyAgreeDecryptPara
Ein Zeiger auf eine CMSG_CTRL_KEY_AGREE_DECRYPT_PARA-Struktur, die die wichtigen Vereinbarungsinformationen enthält, die im CMSG_CTRL_KEY_AGREE_DECRYPT Fall an die CryptMsgControl-Funktion übergeben wurden.
Das EncryptedKey-Element des pKeyAgree-Members enthält die zu entschlüsselnden CEK-Bytes. Da eine CMSG_CTRL_KEY_AGREE_DECRYPT_PARA-Struktur eine HCRYPTPROV-Auswahl enthalten kann, darf ihr hNCryptKey-Member nicht zum Entschlüsseln von EncryptedKey verwendet werden. Stattdessen müssen Sie das hNCryptKey-Element verwenden, das im pCNGContentDecryptInfo-Parameter angegeben ist.
Diese Funktion darf keine Elemente der CMSG_CTRL_KEY_AGREE_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_KEY_AGREE_DECRYPT Sie können OID-Unterstützungsfunktionen verwenden, um diese Rückruffunktion bereitzustellen. Wincrypt.h definiert die folgende Konstante für diesen Zweck.
Dauerhaft | Definition |
---|---|
CMSG_OID_CNG_IMPORT_KEY_AGREE_FUNC | "CryptMsgDllCNGImportKeyAgree" |
Beispiele
Ein Beispiel, das eine OID-installierbare Rückruffunktion bereitstellt, finden Sie unter Erweitern der CryptoAPI-Funktionalität.
Anforderungen
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | wincrypt.h |