Bagikan melalui


Pengidentifikasi Properti Penyimpanan Kunci

Nilai berikut digunakan untuk mengidentifikasi properti penyimpanan kunci.

Pengidentifikasi

NCRYPT_ALGORITHM_GROUP_PROPERTY

L"Algorithm Group"

String Unicode null-terminated yang berisi nama grup algoritma objek. Properti ini hanya berlaku untuk kunci. Pengidentifikasi berikut dikembalikan oleh penyedia penyimpanan kunci Microsoft.

Pengidentifikasi Nilai Deskripsi
NCRYPT_RSA_ALGORITHM_GROUP "RSA" Grup algoritma RSA.
NCRYPT_DH_ALGORITHM_GROUP "DH" Grup algoritma Diffie-Hellman.
NCRYPT_DSA_ALGORITHM_GROUP "DSA" Grup algoritma DSA.
NCRYPT_ECDSA_ALGORITHM_GROUP "ECDSA" Grup algoritma DSA kurva elips.
NCRYPT_ECDH_ALGORITHM_GROUP "ECDH" Kurva elips Diffie-Hellman grup algoritma.

NCRYPT_ALGORITHM_PROPERTY

L"Algorithm Name"

String Unicode null-terminated yang berisi nama algoritma objek. Ini bisa menjadi salah satu Pengidentifikasi Algoritma CNG yang telah ditentukan sebelumnya atau pengidentifikasi algoritma terdaftar lainnya. Properti ini hanya berlaku untuk kunci.

NCRYPT_ASSOCIATED_ECDH_KEY

L"SmartCardAssociatedECDHKey"

Nilai LPWSTR yang menunjukkan nama kontainer kunci Elliptic Curve Diffie-Hellman (ECDH) untuk digunakan selama masuk untuk handel tertentu ke kunci Elliptic Curve Digital Signature Algorithm (ECDSA). Jika tidak ada kunci ECDH pada kartu, penyedia penyimpanan kunci (KSP) mengembalikan NTE_NOT_FOUND. Properti ini berlaku untuk kunci ECDSA untuk masuk dengan kartu pintar. Properti ini didukung oleh penyedia penyimpanan kunci Kartu Pintar Microsoft dan bukan oleh penyedia penyimpanan kunci Perangkat Lunak Microsoft.

Windows Server 2008 dan Windows Vista: Nilai ini tidak didukung.

NCRYPT_BLOCK_LENGTH_PROPERTY

L"Block Length"

DWORD yang berisi panjang, dalam byte, dari blok enkripsi. Properti ini hanya berlaku untuk kunci yang mendukung enkripsi.

NCRYPT_CERTIFICATE_PROPERTY

L"SmartCardKeyCertificate"

BLOB yang berisi sertifikat X.509 yang terkait dengan kunci.

Windows Server 2008 R2, Windows 7, Windows Server 2008 dan Windows Vista:BLOB yang berisi sertifikat kunci kartu pintar. Properti ini tidak didukung oleh Penyedia Penyimpanan Kunci Perangkat Lunak Microsoft.

NCRYPT_DH_PARAMETERS_PROPERTY

L"DHParameters"

Menentukan parameter yang akan digunakan dengan kunci Diffie-Hellman. Jenis data ini adalah penunjuk ke struktur BCRYPT_DH_PARAMETER_HEADER . Properti ini hanya dapat diatur dan harus diatur untuk kunci sebelum kunci selesai.

NCRYPT_EXPORT_POLICY_PROPERTY

L"Export Policy"

DWORD yang berisi sekumpulan bendera yang menentukan kebijakan ekspor untuk kunci yang bertahan. Properti ini hanya berlaku untuk kunci. Ini bisa berisi nol atau kombinasi dari satu atau beberapa nilai berikut.

Pengidentifikasi Nilai Deskripsi
NCRYPT_ALLOW_EXPORT_FLAG 0x00000001 Kunci privat dapat diekspor.
NCRYPT_ALLOW_PLAINTEXT_EXPORT_FLAG 0x00000002 Kunci privat dapat diekspor dalam bentuk teks biasa.
NCRYPT_ALLOW_ARCHIVING_FLAG 0x00000004 Kunci privat dapat diekspor sekali untuk tujuan pengarsipan. Bendera ini hanya berlaku untuk handel kunci asli tempat bendera diatur. Kebijakan ini hanya dapat diterapkan ke handel kunci asli. Setelah handel kunci ditutup, kunci tidak dapat lagi diekspor untuk tujuan pengarsipan.
NCRYPT_ALLOW_PLAINTEXT_ARCHIVING_FLAG 0x00000008 Kunci privat dapat diekspor sekali dalam bentuk teks biasa untuk tujuan pengarsipan. Bendera ini hanya berlaku untuk handel kunci asli tempat bendera diatur. Kebijakan ini hanya dapat diterapkan ke handel kunci asli. Setelah handel kunci ditutup, kunci tidak dapat lagi diekspor untuk tujuan pengarsipan.

NCRYPT_IMPL_TYPE_PROPERTY

L"Impl Type"

DWORD yang berisi sekumpulan bendera yang menentukan detail implementasi penyedia. Properti ini hanya berlaku untuk penyedia penyimpanan utama. Ini bisa berisi nol atau kombinasi dari satu atau beberapa nilai berikut.

Pengidentifikasi Nilai Deskripsi
NCRYPT_IMPL_HARDWARE_FLAG 0x00000001 Penyedia berbasis perangkat keras.
NCRYPT_IMPL_SOFTWARE_FLAG 0x00000002 Penyedia berbasis perangkat lunak.
NCRYPT_IMPL_REMOVABLE_FLAG 0x00000008 Penyedia dapat dilepas.
NCRYPT_IMPL_HARDWARE_RNG_FLAG 0x00000010 Penyedia adalah generator angka acak berbasis perangkat keras.

NCRYPT_KEY_TYPE_PROPERTY

L"Key Type"

DWORD yang berisi sekumpulan bendera yang menentukan jenis kunci. Properti ini hanya berlaku untuk kunci. Ini bisa berisi nol atau nilai berikut.

Pengidentifikasi Nilai Deskripsi
NCRYPT_MACHINE_KEY_FLAG 0x00000020 Kunci berlaku untuk komputer lokal. Jika bendera ini tidak ada, kunci berlaku untuk pengguna saat ini.

NCRYPT_KEY_USAGE_PROPERTY

L"Key Usage"

DWORD yang berisi sekumpulan bendera yang menentukan detail penggunaan untuk kunci. Properti ini hanya berlaku untuk kunci. Ini bisa berisi nol atau kombinasi dari satu atau beberapa nilai berikut.

Pengidentifikasi Nilai Deskripsi
NCRYPT_ALLOW_DECRYPT_FLAG 0x00000001 Kunci dapat digunakan untuk dekripsi.
NCRYPT_ALLOW_SIGNING_FLAG 0x00000002 Kunci dapat digunakan untuk penandatanganan.
NCRYPT_ALLOW_KEY_AGREEMENT_FLAG 0x00000004 Kunci dapat digunakan untuk enkripsi perjanjian rahasia.
NCRYPT_ALLOW_ALL_USAGES 0x00ffffff Kunci dapat digunakan untuk tujuan apa pun.

NCRYPT_LAST_MODIFIED_PROPERTY

L"Modified"

Menunjukkan kapan kunci terakhir diubah. Jenis data ini adalah penunjuk ke struktur FILETIME . Properti ini hanya berlaku untuk kunci yang dipertahankan.

NCRYPT_LENGTH_PROPERTY

L"Length"

DWORD yang berisi panjang, dalam bit, dari kunci. Properti ini hanya berlaku untuk kunci.

NCRYPT_LENGTHS_PROPERTY

L"Lengths"

Menunjukkan ukuran kunci yang didukung oleh kunci. Tipe data ini adalah penunjuk ke struktur NCRYPT_SUPPORTED_LENGTHS yang berisi informasi ini. Properti ini hanya berlaku untuk kunci.

NCRYPT_MAX_NAME_LENGTH_PROPERTY

L"Max Name Length"

DWORD yang berisi panjang maksimum, dalam karakter, dari nama kunci persisten. Properti ini hanya berlaku untuk penyedia.

Properti ini terutama dimaksudkan untuk digunakan oleh penyedia penyimpanan utama yang menyimpan kunci mereka di perangkat yang memiliki jumlah memori terbatas yang tersedia, seperti kartu pintar.

NCRYPT_NAME_PROPERTY

L"Name"

Penunjuk ke string Unicode yang dihentikan null yang berisi nama objek.

NCRYPT_PIN_PROMPT_PROPERTY

L"SmartCardPinPrompt"

Nilai ini tidak didukung.

NCRYPT_PIN_PROPERTY

L"SmartCardPin"

Penunjuk ke string Unicode yang dihentikan null yang berisi PIN. PIN digunakan untuk kunci kartu pintar atau kata sandi untuk kunci yang dilindungi kata sandi yang disimpan dalam KSP berbasis perangkat lunak. Properti ini hanya dapat diatur. KSP Microsoft akan menyimpan cache nilai ini sehingga pengguna hanya diminta sekali per proses.

NCRYPT_PROVIDER_HANDLE_PROPERTY

L"Provider Handle"

NCRYPT_PROV_HANDLE yang berisi handel penyedia penyimpanan kunci CNG. Setelah selesai menggunakan handel, Anda harus memanggil NCryptFreeObject untuk merilisnya.

NCRYPT_READER_PROPERTY

L"SmartCardReader"

Penunjuk ke string Unicode yang dihentikan null yang berisi nama pembaca kartu pintar. Properti ini hanya dapat diatur.

NCRYPT_ROOT_CERTSTORE_PROPERTY

L"SmartcardRootCertStore"

HCERTSTORE yang mewakili penyimpanan sertifikat akar kartu pintar.

NCRYPT_SCARD_PIN_ID

L"SmartCardPinId"

Penunjuk ke nilai yang PIN_ID terkait dengan kunci kriptografi tertentu pada kartu pintar. Ini adalah properti baca-saja. Jenis PIN_ID data didefinisikan dalam Cardmod.h.

Windows Server 2008 dan Windows Vista: Nilai ini tidak didukung.

NCRYPT_SCARD_PIN_INFO

L"SmartCardPinInfo"

Pointer untuk PIN_INFO struktur PIN yang terkait dengan kunci kriptografi tertentu pada kartu pintar. Pemanggil menyediakan handel kunci. Properti ini adalah properti baca-saja. Struktur PIN_INFO didefinisikan dalam Cardmod.h.

Windows Server 2008 dan Windows Vista: Nilai ini tidak didukung.

NCRYPT_SECURE_PIN_PROPERTY

L"SmartCardSecurePin"

Penunjuk ke string Unicode yang dihentikan null yang berisi PIN sesi kartu pintar. Properti ini hanya dapat diatur.

Windows Vista: Properti ini tidak didukung.

NCRYPT_SECURITY_DESCR_PROPERTY

L"Security Descr"

Penunjuk ke struktur SECURITY_DESCRIPTOR yang berisi informasi kontrol akses untuk kunci. Properti ini hanya berlaku untuk kunci persisten. Parameter dwFlags dari fungsi NCryptGetProperty atau NCryptSetProperty mengidentifikasi bagian dari deskriptor keamanan untuk mendapatkan atau mengatur.

NCRYPT_SECURITY_DESCR_SUPPORT_PROPERTY

L"Security Descr Support"

Menunjukkan apakah penyedia mendukung deskriptor keamanan untuk kunci. Properti ini adalah DWORD yang berisi 1 jika penyedia mendukung deskriptor keamanan untuk kunci. Jika properti ini berisi nilai lain, atau jika fungsi NCryptGetProperty mengembalikan NTE_NOT_SUPPORTED, penyedia tidak mendukung deskriptor keamanan untuk kunci. Properti ini hanya berlaku untuk penyedia.

NCRYPT_SMARTCARD_GUID_PROPERTY

L"SmartCardGuid"

BLOB yang berisi pengidentifikasi kartu pintar.

NCRYPT_UI_POLICY_PROPERTY

L"UI Policy"

Jika digunakan dengan fungsi NCryptSetProperty atau NCryptGetProperty , ini adalah penunjuk ke struktur NCRYPT_UI_POLICY yang berisi kebijakan antarmuka pengguna kunci yang kuat untuk kunci tersebut. Properti ini hanya berlaku untuk kunci persisten. Properti ini hanya dapat diatur ketika kunci sedang dibuat. Setelah fungsi NCryptFinalizeKey dipanggil untuk kunci ini, properti ini menjadi baca-saja.

Penyedia penyimpanan utama dapat menerima parameter ini melalui fungsi panggilan balik NCryptSetPropertyFn . Nilai parameter adalah NCRYPT_UI_POLICY_BLOB struktur yang berisi informasi yang sama. Demikian pula, ketika aplikasi membuat permintaan melalui NCryptSetPropertyFn ke penyedia untuk mengembalikan properti ini, penyedia diharapkan untuk mengembalikan NCRYPT_UI_POLICY_BLOB struktur.

NCRYPT_UNIQUE_NAME_PROPERTY

L"Unique Name"

Penunjuk ke string Unicode yang dihentikan null yang berisi nama unik objek. Ini adalah nama alternatif yang dapat digunakan saat mengakses kunci. Properti ini digunakan ketika dianggap bahwa nama kunci yang awalnya diteruskan ke NCryptCreatePersistedKey tidak cukup unik untuk mengidentifikasi kunci yang bertahan dengan andal. Penyedia penyimpanan kunci Microsoft akan mengembalikan nama file kunci sebagai properti ini.

NCRYPT_USE_CONTEXT_PROPERTY

L"Use Context"

Penunjuk ke string Unicode yang dihentikan null yang menjelaskan konteks operasi. Properti ini tidak persisten dan dapat diatur pada penyedia atau kunci. Kunci tidak memiliki akses ke NCRYPT_USE_CONTEXT_PROPERTY properti penyedia karena properti hanya khusus untuk menanganinya yang diatur.

Contoh di mana properti ini akan digunakan dalam konteks penyedia adalah penyedia penyimpanan utama yang perlu meminta pengguna selama panggilan ke NCryptOpenKey (misalnya, "Masukkan kartu pintar Anda di pembaca."). Karena handel kunci tidak tersedia sampai setelah NCryptOpenKey kembali, aplikasi harus mengatur properti ini pada handel penyedia sebelum memanggil NCryptOpenKey.

Contoh di mana properti ini akan digunakan dalam konteks handel kunci adalah penyedia penyimpanan utama yang perlu meminta pengguna selama operasi menggunakan kunci (misalnya, "Aplikasi ini perlu menggunakan kunci ini untuk menandatangani dokumen."). Penyedia kemudian dapat menyampaikan informasi konteks ini kepada pengguna di antarmuka pengguna apa pun yang ditampilkan selama operasi.

NCRYPT_USE_COUNT_ENABLED_PROPERTY

L"Enabled Use Count"

Menunjukkan apakah penyedia mendukung penghitungan penggunaan untuk kunci. Properti ini adalah DWORD yang berisi 1 jika penyedia mendukung penghitungan penggunaan untuk kunci. Jika properti ini berisi nilai lain, atau jika fungsi NCryptGetProperty mengembalikan NTE_NOT_SUPPORTED, maka penyedia tidak mendukung penghitungan penggunaan untuk kunci. Properti ini hanya berlaku untuk penyedia.

NCRYPT_USE_COUNT_PROPERTY

L"Use Count"

Variabel ULARGE_INTEGER yang berisi jumlah operasi yang telah dilakukan kunci privat yang ditentukan. Properti ini bersifat opsional dan mungkin tidak didukung oleh semua penyedia. Penyedia yang mendukung properti ini pada kunci juga harus mendukung NCRYPT_USE_COUNT_ENABLED_PROPERTY properti pada handel penyedia. Penyedia penyimpanan kunci Microsoft tidak mendukung properti ini. Properti ini hanya berlaku untuk kunci persisten.

NCRYPT_USER_CERTSTORE_PROPERTY

L"SmartCardUserCertStore"

HCERTSTORE yang mewakili penyimpanan sertifikat pengguna kartu pintar.

NCRYPT_VERSION_PROPERTY

L"Version"

DWORD yang berisi versi perangkat lunak penyedia. Kata tinggi berisi versi utama dan kata rendah berisi versi minor. Contohnya,0x00030033 = 3.51. Properti ini hanya berlaku untuk penyedia.

NCRYPT_WINDOW_HANDLE_PROPERTY

L"HWND Handle"

Penunjuk ke handel jendela (HWND) yang akan digunakan sebagai induk antarmuka pengguna apa pun yang ditampilkan.

Karena perilaku yang tidak diinginkan dapat terjadi ketika antarmuka pengguna ditampilkan dengan menggunakan handel jendela NULL untuk induk, kami sangat menyarankan agar penyedia penyimpanan kunci tidak menampilkan antarmuka pengguna kecuali properti ini diatur.

Nilai berikut digunakan untuk menentukan batas data properti.

Terus-menerus Nilai Deskripsi
NCRYPT_MAX_PROPERTY_DATA 0x100000 Menentukan ukuran maksimum nilai properti, dalam byte.
NCRYPT_MAX_PROPERTY_NAME 64 Menentukan ukuran maksimum nama properti, dalam karakter.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Header Ncrypt.h

Lihat juga