PFN_CMSG_CNG_IMPORT_KEY_TRANS fungsi panggilan balik (wincrypt.h)

Fungsi panggilan balik PFN_CMSG_CNG_IMPORT_KEY_TRANS mengimpor dan mendekripsi kunci enkripsi konten (CEK) yang ditujukan untuk penerima transportasi utama. PFN_CMSG_CNG_IMPORT_KEY_TRANS dapat diinstal dengan menggunakan API Kriptografi: Pengidentifikasi objek (OID) Generasi Berikutnya (CNG).

Sintaks

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

Penunjuk ke struktur CMSG_CNG_CONTENT_DECRYPT_INFO yang akan diperbarui dengan byte CEK yang didekripsi. Parameter ini berisi kunci yang digunakan untuk mendekripsi CEK. Parameter pKeyTransDecryptPara berikut berisi byte CEK yang akan didekripsi.

[in] pKeyTransDecryptPara

Penunjuk ke struktur CMSG_CTRL_KEY_TRANS_DECRYPT_PARA yang berisi informasi transportasi utama yang diteruskan ke fungsi CryptMsgControl dalam kasus CMSG_CTRL_DECRYPT atau CMSG_CTRL_KEY_TRANS_DECRYPT . Untuk kasus CMSG_CTRL_DECRYPT , CryptMsgControl mengonversi struktur CMSG_CTRL_DECRYPT_PARA menjadi struktur CMSG_CTRL_KEY_TRANS_DECRYPT_PARA .

Anggota EncryptedKey dari anggota pKeyTrans berisi byte CEK yang akan didekripsi. Karena struktur CMSG_CTRL_KEY_TRANS_DECRYPT_PARA mungkin berisi pilihan HCRYPTPROV , anggota hNCryptKey-nya tidak boleh digunakan untuk mendekripsi EncryptedKey. Sebagai gantinya, Anda harus menggunakan hNCryptKey yang ditentukan dalam parameter pCNGContentDecryptInfo .

Fungsi ini tidak boleh memperbarui anggota struktur CMSG_CTRL_KEY_TRANS_DECRYPT_PARA .

[in] dwFlags

Parameter ini dicadangkan. Atur ke nol.

pvReserved

Parameter ini dicadangkan. Atur ke NULL.

Nilai kembali

Jika fungsi berhasil, nilai yang dikembalikan bukan nol (TRUE).

Jika fungsi gagal, nilai yang dikembalikan adalah nol (FALSE). Untuk informasi kesalahan yang diperluas, hubungi GetLastError.

Jika fungsi panggilan balik ini tidak mendukung algoritma enkripsi kunci, fungsi tersebut harus mengembalikan FALSE dan memanggil SetLastError dengan ERROR_NOT_SUPPORTED.

Keterangan

Fungsi CryptMsgControl memanggil fungsi ini untuk operasi berikut yang ditentukan oleh parameter dwCtrlType :

CMSG_CTRL_DECRYPTCMSG_CTRL_KEY_TRANS_DECRYPT Anda dapat menggunakan Fungsi Dukungan OID untuk menyebarkan fungsi panggilan balik ini. Wincrypt.h mendefinisikan konstanta berikut untuk tujuan ini.

Terus-menerus Definisi
CMSG_OID_CNG_IMPORT_KEY_TRANS_FUNC "CryptMsgDllCNGImportKeyTrans"
 

Contoh

Untuk contoh yang menyebarkan fungsi panggilan balik yang dapat diinstal OID, lihat Memperluas Fungsionalitas CryptoAPI.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Target Platform Windows
Header wincrypt.h

Lihat juga

Pendekodean Data Yang Diselimuti