Fungsi BCryptImportKeyPair (bcrypt.h)
Fungsi BCryptImportKeyPair mengimpor pasangan kunci publik/privat dari BLOB kunci. Fungsi BCryptImportKey digunakan untuk mengimpor pasangan kunci simetris .
Sintaks
NTSTATUS BCryptImportKeyPair(
[in] BCRYPT_ALG_HANDLE hAlgorithm,
[in, out] BCRYPT_KEY_HANDLE hImportKey,
[in] LPCWSTR pszBlobType,
[out] BCRYPT_KEY_HANDLE *phKey,
[in] PUCHAR pbInput,
[in] ULONG cbInput,
[in] ULONG dwFlags
);
Parameter
[in] hAlgorithm
Handel penyedia algoritma untuk mengimpor kunci. Handel ini diperoleh dengan memanggil fungsi BCryptOpenAlgorithmProvider .
[in, out] hImportKey
Parameter ini saat ini tidak digunakan dan harus NULL.
[in] pszBlobType
String Unicode null-terminated yang berisi pengidentifikasi yang menentukan jenis BLOB yang terkandung dalam buffer pbInput . Ini bisa menjadi salah satu nilai berikut.
Nilai | Makna |
---|---|
|
BLOB adalah blob pasangan kunci publik/privat Diffie-Hellman. Buffer pbInput harus berisi struktur BCRYPT_DH_KEY_BLOB segera diikuti oleh data utama. |
|
BLOB adalah BLOB kunci umum Diffie-Hellman. Buffer pbInput harus berisi struktur BCRYPT_DH_KEY_BLOB segera diikuti oleh data utama. |
|
BLOB adalah BLOB pasangan kunci publik/privat DSA. Buffer pbInput harus berisi struktur BCRYPT_DSA_KEY_BLOB atau BCRYPT_DSA_KEY_BLOB_V2 segera diikuti oleh data utama. BCRYPT_DSA_KEY_BLOB digunakan untuk panjang kunci dari 512 hingga 1024 bit. BCRYPT_DSA_KEY_BLOB_V2 digunakan untuk panjang kunci yang melebihi 1024 bit tetapi kurang dari atau sama dengan 3072 bit.
Windows 8: Dukungan untuk BCRYPT_DSA_KEY_BLOB_V2 dimulai. |
|
BLOB adalah BLOB kunci umum DSA. Buffer pbInput harus berisi struktur BCRYPT_DSA_KEY_BLOB atau BCRYPT_DSA_KEY_BLOB_V2 segera diikuti oleh data utama. BCRYPT_DSA_KEY_BLOB digunakan untuk panjang kunci dari 512 hingga 1024 bit. BCRYPT_DSA_KEY_BLOB_V2 digunakan untuk panjang kunci yang melebihi 1024 bit tetapi kurang dari atau sama dengan 3072 bit.
Windows 8: Dukungan untuk BCRYPT_DSA_KEY_BLOB_V2 dimulai. |
|
BLOB adalah kunci privatkurva elips kriptografi (ECC). Buffer pbInput harus berisi struktur BCRYPT_ECCKEY_BLOB segera diikuti oleh data utama. |
|
BLOB adalah kunci umum ECC. Buffer pbInput harus berisi struktur BCRYPT_ECCKEY_BLOB segera diikuti oleh data utama. |
|
BLOB adalah kunci umum generik dari semua jenis. Jenis kunci dalam BLOB ini ditentukan oleh anggota Sihir dari struktur BCRYPT_KEY_BLOB . |
|
BLOB adalah kunci privat generik dari semua jenis. Kunci privat tidak selalu berisi kunci umum. Jenis kunci dalam BLOB ini ditentukan oleh anggota Sihir dari struktur BCRYPT_KEY_BLOB . |
|
BLOB adalah BLOB pasangan kunci publik/privat RSA. Buffer pbInput harus berisi struktur BCRYPT_RSAKEY_BLOB segera diikuti oleh data utama. |
|
BLOB adalah BLOB kunci umum RSA. Buffer pbInput harus berisi struktur BCRYPT_RSAKEY_BLOB segera diikuti oleh data utama. |
|
BLOB adalah blob kunci umum Diffie-Hellman yang diekspor dengan menggunakan CryptoAPI. Penyedia primitif Microsoft tidak mendukung impor jenis BLOB ini. |
|
BLOB adalah BLOB Kunci Privat Versi 3 Diffie-Hellman warisan yang berisi pasangan kunci publik/privat Diffie-Hellman yang diekspor dengan menggunakan CryptoAPI. |
|
BLOB adalah BLOB pasangan kunci publik/privat DSA yang diekspor dengan menggunakan CryptoAPI. |
|
BLOB adalah BLOB kunci umum DSA yang diekspor dengan menggunakan CryptoAPI. Penyedia primitif Microsoft tidak mendukung impor jenis BLOB ini. |
|
BLOB adalah kunci privat DSA versi 2 dalam formulir yang dapat diimpor dengan menggunakan CryptoAPI. |
|
BLOB adalah BLOB pasangan kunci publik/privat RSA yang diekspor dengan menggunakan CryptoAPI. |
|
BLOB adalah BLOB kunci umum RSA yang diekspor dengan menggunakan CryptoAPI. Penyedia primitif Microsoft tidak mendukung impor jenis BLOB ini. |
[out] phKey
Penunjuk ke BCRYPT_KEY_HANDLE yang menerima handel kunci yang diimpor. Handel ini digunakan dalam fungsi berikutnya yang memerlukan kunci, seperti BCryptSignHash. Handel ini harus dirilis ketika tidak lagi diperlukan dengan meneruskannya ke fungsi BCryptDestroyKey .
[in] pbInput
Alamat buffer yang berisi BLOB kunci untuk diimpor. Parameter cbInput berisi ukuran buffer ini. Parameter pszBlobType menentukan jenis BLOB kunci yang dikandung buffer ini.
[in] cbInput
Ukuran, dalam byte, dari buffer pbInput .
[in] dwFlags
Sekumpulan bendera yang mengubah perilaku fungsi ini. Ini bisa nol atau nilai berikut.
Nilai | Makna |
---|---|
|
Jangan validasi bagian publik dari pasangan kunci. |
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. |
|
Handel algoritma dalam parameter hAlgorithm tidak valid. |
|
Satu atau beberapa parameter tidak valid. |
|
Penyedia algoritma yang ditentukan oleh parameter hAlgorithm tidak mendukung jenis BLOB yang ditentukan oleh parameter pszBlobType . |
Keterangan
Bergantung pada mode prosesor apa yang didukung penyedia, BCryptImportKeyPair 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 telah dibuka dengan menggunakan bendera BCRYPT_PROV_DISPATCH , dan setiap pointer yang diteruskan ke fungsi BCryptImportKeyPair 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