Fungsi CryptSetProvParam (wincrypt.h)
Sintaks
BOOL CryptSetProvParam(
[in] HCRYPTPROV hProv,
[in] DWORD dwParam,
[in] const BYTE *pbData,
[in] DWORD dwFlags
);
Parameter
[in] hProv
Handel CSP untuk mengatur nilai. Handel ini harus sudah dibuat dengan menggunakan fungsi CryptAcquireContext .
[in] dwParam
Menentukan parameter yang akan diatur. Ini bisa menjadi salah satu nilai berikut.
Nilai | Makna |
---|---|
|
Atur handel jendela yang digunakan penyedia sebagai induk dari kotak dialog apa pun yang dibuatnya. pbData berisi penunjuk ke HWND yang berisi handel jendela induk.
Parameter ini harus diatur sebelum memanggil CryptAcquireContext karena banyak CSP akan menampilkan antarmuka pengguna saat CryptAcquireContext dipanggil. Anda dapat meneruskan NULL untuk parameter hProv untuk mengatur handel jendela ini untuk semua konteks kriptografi yang kemudian diperoleh dalam proses ini. |
|
Hapus kunci sementara yang terkait dengan konteks hash, enkripsi, atau verifikasi. Ini akan membebaskan memori dan menghapus pengaturan registri yang terkait dengan kunci. |
|
Konstanta ini tidak digunakan. |
|
Menentukan bahwa PIN pertukaran kunci terkandung dalam pbData. PIN direpresentasikan sebagai string ASCII yang dihentikan null. |
|
Konstanta ini tidak digunakan. |
|
Mengatur deskriptor keamanan pada kontainer penyimpanan kunci. Parameter pbData adalah alamat struktur SECURITY_DESCRIPTOR yang berisi deskriptor keamanan baru untuk kontainer penyimpanan kunci. |
|
Mengatur string perintah alternatif untuk ditampilkan kepada pengguna saat PIN pengguna diminta. Parameter pbData adalah penunjuk ke string Unicode yang dihentikan null. |
|
Mengatur penyimpanan sertifikat akar untuk kartu pintar. Penyedia akan menyalin sertifikat akar dari penyimpanan ini ke kartu pintar.
Parameter pbData adalah variabel HCERTSTORE yang berisi handel penyimpanan sertifikat baru. Penyedia akan menyalin sertifikat dari penyimpanan selama panggilan ini, sehingga aman untuk menutup penyimpanan ini setelah fungsi ini dipanggil. Windows XP dan Windows Server 2003: Parameter ini tidak didukung. |
|
Konstanta ini tidak digunakan. |
|
Menentukan PIN tanda tangan. Parameter pbData adalah string ASCII null-terminated yang mewakili PIN. |
|
Konstanta ini tidak digunakan. |
|
Untuk penyedia kartu pintar, mengatur string pencarian yang ditampilkan kepada pengguna sebagai perintah untuk menyisipkan kartu pintar. String ini diteruskan sebagai anggota lpstrSearchDesc dari struktur OPENCARDNAME_EX yang diteruskan ke fungsi SCardUIDlgSelectCard . String ini digunakan untuk masa pakai proses panggilan.
Parameter pbData adalah penunjuk ke string Unicode yang dihentikan null. |
|
Menentukan bahwa CSP harus secara eksklusif menggunakan generator nomor acak perangkat keras (RNG). Ketika PP_USE_HARDWARE_RNG diatur, nilai acak diambil secara eksklusif dari RNG perangkat keras dan tidak ada sumber lain yang digunakan. Jika RNG perangkat keras didukung oleh CSP dan dapat digunakan secara eksklusif, fungsi berhasil dan mengembalikan TRUE; jika tidak, fungsi gagal dan mengembalikan FALSE. Parameter pbData harus NULL dan dwFlags harus nol saat menggunakan nilai ini.
Tidak ada CSP Microsoft yang saat ini mendukung penggunaan RNG perangkat keras. |
|
Menentukan penyimpanan sertifikat pengguna untuk kartu pintar. Penyimpanan sertifikat ini berisi semua sertifikat pengguna yang disimpan pada kartu pintar. Sertifikat di penyimpanan ini dikodekan dengan menggunakan pengodean PKCS_7_ASN_ENCODING atau X509_ASN_ENCODING dan harus berisi properti CERT_KEY_PROV_INFO_PROP_ID .
Parameter pbData adalah variabel HCERTSTORE yang menerima handel penyimpanan sertifikat dalam memori. Ketika handel ini tidak lagi diperlukan, pemanggil harus menutupnya dengan menggunakan fungsi CertCloseStore . Windows Server 2003 dan Windows XP: Parameter ini tidak didukung. |
|
Menentukan bahwa PIN pertukaran kunci terenkripsi terkandung dalam pbData. Parameter pbData berisi DATA_BLOB. |
|
Menentukan bahwa PIN tanda tangan terenkripsi terkandung dalam pbData. Parameter pbData berisi DATA_BLOB. |
|
Menentukan nama pembaca kartu pintar. Parameter pbData adalah alamat array karakter ANSI yang berisi string ANSI yang dihentikan null yang berisi nama pembaca kartu pintar.
Windows Server 2003 dan Windows XP: Parameter ini tidak didukung. |
|
Menentukan pengidentifikasi kartu pintar. Parameter pbData adalah alamat struktur GUID yang berisi pengidentifikasi kartu pintar.
Windows Server 2003 dan Windows XP: Parameter ini tidak didukung. |
[in] pbData
Penunjuk ke buffer data yang berisi nilai yang akan ditetapkan sebagai parameter penyedia. Bentuk data ini bervariasi tergantung pada nilai dwParam . Jika dwParam berisi PP_USE_HARDWARE_RNG, parameter ini harus NULL.
[in] dwFlags
Jika dwParam berisi PP_KEYSET_SEC_DESCR, dwFlags berisi bendera bit yang SECURITY_INFORMATION berlaku, seperti yang didefinisikan dalam Platform SDK. Keamanan kontainer kunci ditangani dengan menggunakan SetFileSecurity dan GetFileSecurity.
Bendera bit ini dapat digabungkan dengan menggunakan operasi bitwise-OR. Untuk informasi selengkapnya, lihat CryptGetProvParam.
Jika dwParamPP_USE_HARDWARE_RNG atau PP_DELETEKEY, dwFlags harus diatur ke nol.
Mengembalikan nilai
Jika fungsi berhasil, nilai yang dikembalikan bukan nol (TRUE).
Jika fungsi gagal, nilai yang dikembalikan adalah nol (FALSE). Untuk informasi kesalahan yang diperluas, hubungi GetLastError.
Kode kesalahan yang diawali oleh "NTE" dihasilkan oleh CSP tertentu yang digunakan. Kode kesalahan mencakup yang berikut ini.
Menampilkan kode | Deskripsi |
---|---|
|
Konteks CSP saat ini sedang digunakan oleh proses lain. |
|
Salah satu parameter menentukan handel yang tidak valid. |
|
Salah satu parameter berisi nilai yang tidak valid. Ini paling sering merupakan pointer yang tidak valid. |
|
Parameter dwFlags bukan nol atau buffer pbData berisi nilai yang tidak valid. |
|
Parameter dwParam menentukan parameter yang tidak diketahui. |
|
Konteks CSP yang ditentukan ketika kunci hKey dibuat tidak dapat ditemukan. |
|
Fungsi gagal dengan cara yang tidak terduga. |
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows XP [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2003 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | wincrypt.h |
Pustaka | Advapi32.lib |
DLL | Advapi32.dll |