Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Fungsi BCryptImportKeyPair
Sintaksis
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
[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 pbInput buffer. Ini bisa menjadi salah satu nilai berikut:
| Nilai | Arti |
|---|---|
| BCRYPT_DH_PRIVATE_BLOB | BLOB adalah blob pasangan kunci publik/privat Diffie-Hellman. Buffer pbInput |
| BCRYPT_DH_PUBLIC_BLOB | BLOB adalahBLOB kunci publik Diffie-Hellman |
| BCRYPT_DSA_PRIVATE_BLOB | BLOB adalah BLOB pasangan kunci publik/privat DSA. Buffer pbInput Windows 8: Dukungan untuk BCRYPT_DSA_KEY_BLOB_V2 dimulai. |
| BCRYPT_DSA_PUBLIC_BLOB | BLOB adalah BLOB kunci umum DSA. Buffer pbInput Windows 8: Dukungan untuk BCRYPT_DSA_KEY_BLOB_V2 dimulai. |
| BCRYPT_ECCPRIVATE_BLOB | BLOB adalah kriptografi kurva elips |
| BCRYPT_ECCPUBLIC_BLOB | BLOB adalah kunci umum ECC. Buffer pbInput |
| BCRYPT_MLKEM_PUBLIC_BLOB | BLOB adalah BLOB ML-KEM yang menyediakan impor dan ekspor kunci enkapsulasi ML-KEM yang dikodekan byte standar per FIPS 203. Buffer pbInput harus berisi struktur BCRYPT_MLKEM_KEY_BLOB yang berisi kunci enkapsulasi KEM yang dikodekan byte, BCRYPT_MLKEM_PUBLIC_MAGIC, dan set parameter ML-KEM. |
| BCRYPT_MLKEM_PRIVATE_BLOB | BLOB adalah BLOB ML-KEM yang menyediakan impor dan ekspor kunci dekapsulasi ML-KEM yang dikodekan byte standar per FIPS 203. Buffer pbInput harus berisi struktur BCRYPT_MLKEM_KEY_BLOB yang berisi kunci dekapsulasi KEM yang dikodekan byte, BCRYPT_MLKEM_PRIVATE_MAGIC, dan set parameter ML-KEM. |
| BCRYPT_MLKEM_PRIVATE_SEED_BLOB | BLOB adalah BLOB ML-KEM yang menyediakan impor dan ekspor benih ML-KEM per FIPS 203. Buffer pbInput harus berisi struktur BCRYPT_MLKEM_KEY_BLOB yang berisi seed KEM, BCRYPT_MLKEM_SEED_MAGIC, dan set parameter ML-KEM. |
| BCRYPT_PQDSA_PUBLIC_BLOB | BLOB adalah BLOB ML-DSA, SLH-DSA, LMS, atau XMSS yang menyediakan impor dan ekspor kunci umum tanda tangan digital PQ per FIPS 204 dan 205. Buffer pbInput harus berisi struktur BCRYPT_PQDSA_KEY_BLOB yang berisi materi utama, sihir publik, dan set parameter PQ. |
| BCRYPT_PQDSA_PRIVATE_BLOB | BLOB adalah BLOB ML-DSA, SLH-DSA, LMS, atau XMSS yang menyediakan impor dan ekspor kunci privat tanda tangan digital PQ per FIPS 204 dan 205. Buffer pbInput harus berisi struktur BCRYPT_PQDSA_KEY_BLOB yang berisi materi utama, sihir privat, dan set parameter PQ. |
| BCRYPT_PQDSA_PRIVATE_SEED_BLOB | BLOB adalah BLOB ML-DSA, SLH-DSA, LMS, atau XMSS yang menyediakan impor dan ekspor benih privat tanda tangan digital PQ per FIPS 204 dan 205. Buffer pbInput harus berisi struktur BCRYPT_PQDSA_KEY_BLOB yang berisi nilai benih, sihir benih privat, dan set parameter PQ. |
| BCRYPT_PRIVATE_KEY_BLOB | BLOB adalah kunci privat generik dari semua jenis. Kunci privat tidak selalu berisi kunci publik. Jenis kunci dalam BLOB ini ditentukan oleh Magic anggota struktur BCRYPT_KEY_BLOB. |
| BCRYPT_PUBLIC_KEY_BLOB | BLOB adalah kunci umum |
| BCRYPT_RSAPRIVATE_BLOB | BLOB adalah BLOB pasangan kunci publik/privat RSA. Buffer pbInput |
| BCRYPT_RSAPUBLIC_BLOB | BLOB adalah BLOB kunci umum RSA. Buffer pbInput |
| LEGACY_DH_PUBLIC_BLOB | BLOB adalah BLOB kunci umum Diffie-Hellman yang diekspor dengan menggunakan CryptoAPI. Penyedia primitif Microsoft tidak mendukung impor jenis BLOB ini. |
| LEGACY_DH_PRIVATE_BLOB | BLOB adalah BLOB Kunci Privat |
| LEGACY_DSA_PRIVATE_BLOB | BLOB adalah BLOB pasangan kunci publik/privat DSA yang diekspor dengan menggunakan CryptoAPI. |
| LEGACY_DSA_PUBLIC_BLOB | BLOB adalah BLOB kunci umum DSA yang diekspor dengan menggunakan CryptoAPI. Penyedia primitif Microsoft tidak mendukung impor jenis BLOB ini. |
| LEGACY_DSA_V2_PRIVATE_BLOB | BLOB adalah kunci privat DSA versi 2 dalam bentuk yang dapat diimpor dengan menggunakan CryptoAPI. |
| LEGACY_RSAPRIVATE_BLOB | BLOB adalah BLOB pasangan kunci publik/privat RSA yang diekspor dengan menggunakan CryptoAPI. |
| LEGACY_RSAPUBLIC_BLOB | 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
[in] cbInput
Ukurannya, dalam byte, dari pbInput buffer.
[in] dwFlags
Sekumpulan bendera yang mengubah perilaku fungsi ini. Ini bisa nol atau nilai berikut.
| Nilai | Arti |
|---|---|
| BCRYPT_NO_KEY_VALIDATION | Menolak pengujian mandiri FIPS yang berlaku. |
Mengembalikan nilai
Mengembalikan kode status yang menunjukkan keberhasilan atau kegagalan fungsi.
Kemungkinan kode pengembalian termasuk, tetapi tidak terbatas pada, berikut ini:
| Mengembalikan kode | Deskripsi |
|---|---|
| STATUS_SUCCESS | Fungsi berhasil. |
| STATUS_INVALID_BUFFER_SIZE | Jika buffer pbInput bukan ukuran yang benar untuk kombinasi set parameter ML-KEM yang terkait dengan hAlgorithm dan untuk jenis blob yang diimpor. |
| STATUS_INVALID_HANDLE | Handel algoritma dalam parameter hAlgoritma |
| STATUS_INVALID_PARAMETER | Satu atau beberapa parameter tidak valid. |
| STATUS_NOT_SUPPORTED | Penyedia algoritma yang ditentukan oleh parameter hAlgorithm |
Komentar
Bergantung pada mode prosesor apa yang didukung penyedia, BCryptImportKeyPair dapat dipanggil baik dari mode pengguna atau mode kernel. Pemanggil mode kernel dapat menjalankan baik di PASSIVE_LEVELIRQL atau IRQL DISPATCH_LEVEL. Jika tingkat IRQL saat ini
Pemanggil harus membebaskan hKey dengan BCryptDestroyKey ketika kunci tidak lagi digunakan.
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
| Syarat | Nilai |
|---|---|
| klien minimum yang didukung | Windows Vista [aplikasi desktop | Aplikasi UWP] |
| server minimum yang didukung |
Windows Server 2008 [aplikasi desktop | Aplikasi UWP] |
| Platform Target |
Windows |
| Header |
bcrypt.h |
| Pustaka |
Bcrypt.lib |
| DLL |
Bcrypt.dll |