Freigeben über


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

Weitere Informationen

Decodieren umhüllter Daten