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_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 |