Bagikan melalui


Impor dan Ekspor Kunci

Anda dapat mengimpor dan mengekspor kunci simetris dan kunci asimetris dengan CNG. Dan Anda dapat menggunakan fungsionalitas ekspor dan impor utama untuk memindahkan kunci antar mesin.

Kunci konten

Untuk mengimpor atau mengekspor kunci simetris (atau sesi) di mana kunci yang sama digunakan untuk mengenkripsi dan mendekripsi beberapa data, Anda dapat menggunakanBCryptImportKeydan fungsi BCryptExportKey. Biasanya, Anda terlebih dahulu mengekspor kunci dengan menggunakan fungsi BCryptExportKey sebelum mengimpor dengan menggunakan fungsi BCryptImportKey. Fungsi ini dirancang untuk mengaktifkan enkripsi kunci yang diekspor dan diimpor dengan menggunakan parameter hExportKey dan hImportKey; namun, implementasi Microsoft dari fungsi-fungsi ini tidak mendukung enkripsi kunci yang diekspor dan diimpor.

Kunci asimetris

Untuk mengimpor pasangan kunci asimetris (atau publik/privat) di mana satu kunci digunakan untuk mengenkripsi dan yang lain digunakan untuk mendekripsi beberapa data, Anda dapat menggunakan salah satu fungsi BCryptImportKeyPair atau NCryptImportKey. Penyedia CNG harus mengodekan pasangan kunci dengan menggunakan jenisBLOB kunciyang didukung. BCryptExportKey dapat digunakan untuk membuat BLOB kunci yang dikodekan. Struktur CNG menjelaskan jenis dan struktur BLOB utama yang didukung Penyedia Penyimpanan Kunci Microsoft.

AgarBCryptExportKeyuntuk membuat pasangan kunci yang bertahan, BLOB kunci input harus berisi kunci privat . Kunci publik tidak dipertahankan.

Nama kunci dan kebijakan ekspor bukan bagian dari strukturBLOByang ditentukan dalam Struktur CNG . Namun, jika BLOB adalah jenis BLOB buram (seperti gambar memori status kunci internal), BLOB mungkin berisi nama kunci dan properti kebijakan ekspor.

Prosedur berikut menjelaskan cara mengimpor kunci privat yang bertahan dengan propertinya.

Untuk mengimpor kunci yang bertahan

  1. Buat kunci yang bertahan dengan menggunakan fungsiNCryptCreatePersistedKey.
  2. Atur properti yang diinginkan pada objek kunci dengan menggunakan fungsiNCryptSetProperty.
  3. Atur BLOB kunci impor sebagai properti pada kunci, dengan jenis BLOB sebagai nama properti.
  4. Selesaikan impor kunci yang dipertahankan dengan menggunakan fungsiNCryptFinalizeKey.