Fungsi BCryptGenerateKeyPair (bcrypt.h)
Fungsi BCryptGenerateKeyPair membuat pasangan kunci publik/privat kosong. Setelah Anda membuat kunci dengan menggunakan fungsi ini, Anda dapat menggunakan fungsi BCryptSetProperty untuk mengatur propertinya; namun, kunci tidak dapat digunakan sampai fungsi BCryptFinalizeKeyPair dipanggil.
Sintaks
NTSTATUS BCryptGenerateKeyPair(
[in, out] BCRYPT_ALG_HANDLE hAlgorithm,
[out] BCRYPT_KEY_HANDLE *phKey,
[in] ULONG dwLength,
[in] ULONG dwFlags
);
Parameter
[in, out] hAlgorithm
Menangani penyedia algoritma yang mendukung penandatanganan, enkripsi asimetris, atau perjanjian kunci. Handel ini harus dibuat dengan menggunakan fungsi BCryptOpenAlgorithmProvider .
[out] phKey
Penunjuk ke BCRYPT_KEY_HANDLE yang menerima handel kunci. Handel ini digunakan dalam fungsi berikutnya yang memerlukan kunci, seperti BCryptEncrypt. Handel ini harus dirilis ketika tidak lagi diperlukan dengan meneruskannya ke fungsi BCryptDestroyKey .
[in] dwLength
Panjang, dalam bit, dari kunci. Penyedia algoritma memiliki batasan ukuran kunci yang berbeda untuk setiap algoritma asimetris standar.
[in] dwFlags
Sekumpulan bendera yang mengubah perilaku fungsi ini. Tidak ada bendera yang saat ini ditentukan, jadi parameter ini harus nol.
Menampilkan nilai
Mengembalikan kode status yang menunjukkan keberhasilan atau kegagalan fungsi.
Kemungkinan kode pengembalian termasuk, tetapi tidak terbatas pada, berikut ini.
Menampilkan kode | Deskripsi |
---|---|
|
Fungsi berhasil. |
|
Handel algoritma dalam parameter hAlgorithm tidak valid. |
|
Satu atau beberapa parameter tidak valid. |
|
Penyedia yang ditentukan tidak mendukung enkripsi kunci asimetris. |
Keterangan
Bergantung pada mode prosesor apa yang didukung penyedia, BCryptGenerateKeyPair 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 hAlgorithm harus dibuka dengan menggunakan bendera BCRYPT_PROV_DISPATCH , dan setiap pointer yang diteruskan ke fungsi BCryptGenerateKeyPair harus merujuk ke 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 |
Lihat juga
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