Fungsi BCryptDuplicateKey (bcrypt.h)
Fungsi BCryptDuplicateKey membuat duplikat kunci simetris.
Sintaks
NTSTATUS BCryptDuplicateKey(
[in] BCRYPT_KEY_HANDLE hKey,
[out] BCRYPT_KEY_HANDLE *phNewKey,
[out] PUCHAR pbKeyObject,
[in] ULONG cbKeyObject,
[in] ULONG dwFlags
);
Parameter
[in] hKey
Handel kunci untuk diduplikasi. Ini harus menjadi pegangan ke kunci konten.
[out] phNewKey
Penunjuk ke variabel BCRYPT_KEY_HANDLE yang menerima handel kunci duplikat. Handel ini digunakan dalam fungsi berikutnya yang memerlukan kunci, seperti BCryptEncrypt. Handel ini harus dirilis ketika tidak lagi diperlukan dengan meneruskannya ke fungsi BCryptDestroyKey .
[out] pbKeyObject
Penunjuk ke buffer yang menerima objek kunci duplikat. Parameter cbKeyObject berisi ukuran buffer ini. Ukuran buffer yang diperlukan dapat diperoleh dengan memanggil fungsi BCryptGetProperty untuk mendapatkan properti BCRYPT_OBJECT_LENGTH . Ini akan memberikan ukuran objek kunci untuk algoritma yang ditentukan.
Memori ini hanya dapat dibebaskan setelah handel kunci phNewKey dihancurkan.
[in] cbKeyObject
Ukuran, dalam byte, dari buffer pbKeyObject .
[in] dwFlags
Sekumpulan bendera yang mengubah perilaku fungsi ini. Tidak ada bendera yang saat ini ditentukan, jadi parameter ini harus nol.
Nilai kembali
Mengembalikan kode status yang menunjukkan keberhasilan atau kegagalan fungsi.
Kemungkinan kode pengembalian termasuk, tetapi tidak terbatas pada, berikut ini.
Menampilkan kode | Deskripsi |
---|---|
|
Fungsi berhasil. |
|
Ukuran objek kunci yang ditentukan oleh parameter cbKeyObject tidak cukup besar untuk menahan objek kunci. |
|
Handel kunci dalam parameter hKey tidak valid. Nilai ini juga dikembalikan jika kunci untuk diduplikasi bukan kunci simetris. |
|
Satu atau beberapa parameter tidak valid. |
Keterangan
Bergantung pada mode prosesor apa yang didukung penyedia, BCryptDuplicateKey dapat dipanggil baik dari mode pengguna atau mode kernel. Pemanggil mode kernel dapat mengeksekusi baik di PASSIVE_LEVEL IRQL atau DISPATCH_LEVEL IRQL. Jika tingkat IRQL saat ini DISPATCH_LEVEL, handel yang disediakan dalam parameter hKey harus berasal dari handel algoritma yang dikembalikan oleh penyedia yang dibuka dengan bendera BCRYPT_PROV_DISPATCH , dan setiap pointer yang diteruskan ke fungsi BCryptDuplicateKey harus mengacu pada memori yang tidak di-patah (atau dikunci).
Untuk memanggil fungsi ini dalam mode kernel, gunakan Cng.lib, yang merupakan bagian dari Driver Development Kit (DDK). Windows Server 2008 dan Windows Vista: Untuk memanggil fungsi ini dalam mode kernel, gunakan Ksecdd.lib.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Vista [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2008 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | bcrypt.h |
Pustaka | Bcrypt.lib |
DLL | Bcrypt.dll |
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk