Metode IX509CertificateRequestPkcs10::GetCspStatuses (certenroll.h)
Metode GetCspStatuses mengambil koleksi ICspStatuses yang berisi semua pasangan penyedia/algoritma yang konsisten dengan penggunaan kunci privat yang dimaksudkan seperti yang ditentukan oleh pemanggil.
Sintaks
HRESULT GetCspStatuses(
[in] X509KeySpec KeySpec,
[out] ICspStatuses **ppCspStatuses
);
Parameter
[in] KeySpec
Nilai enumerasi X509KeySpec yang menentukan penggunaan kunci yang dimaksudkan. Ini bisa menjadi salah satu nilai berikut.
Nilai | Makna |
---|---|
|
Hanya PENYEDIA Cryptography API: Next Generation (CNG) yang dipilih. |
|
Hanya penyedia layanan kriptografi (CSP) CryptoAPI dengan algoritma enkripsi (termasuk pertukaran kunci) yang dipilih. |
|
Hanya CSP CryptoAPI dengan algoritma tanda tangan yang dipilih. |
[out] ppCspStatuses
Alamat variabel yang menerima penunjuk ke antarmuka ICspStatuses yang mewakili koleksi.
Nilai kembali
Jika fungsi berhasil, fungsi akan mengembalikan S_OK.
Jika fungsi gagal, fungsi mengembalikan nilai HRESULT yang menunjukkan kesalahan. Nilai yang mungkin termasuk, tetapi tidak terbatas pada, yang ada dalam tabel berikut. Untuk daftar kode kesalahan umum, lihat Nilai HRESULT Umum.
Menampilkan kode | Deskripsi |
---|---|
|
Kunci privat tidak dapat ditemukan. |
|
Objek tidak diinisialisasi. |
Keterangan
Metode ini mengambil kumpulan objek ICspStatus . Setiap objek mewakili satu pasangan penyedia/algoritma. Jika Anda menentukan templat saat menginisialisasi objek permintaan IX509CertificateRequestPkcs10 , atribut templat seperti pKIDefaultCSPs dan pKIDefaultKeySpec memengaruhi pasangan mana yang awalnya diaktifkan. Anda dapat memanggil properti berikut pada setiap objek ICspStatus untuk mengambil informasi tentang sepasang:
- Properti CspInformation mengambil informasi penyedia.
- Properti CspAlgorithm mengambil informasi algoritma.
- Properti EnrollmentStatus mengambil objek IX509EnrollmentStatus . Panggil properti Terpilih pada objek status untuk menentukan apakah pasangan penyedia/algoritma diaktifkan untuk permintaan ini.
- Properti Ordinal mengambil posisi dalam kumpulan pasangan penyedia/algoritma.
Koleksi yang diambil oleh metode ini disimpan secara internal pada objek permintaan. Hingga tiga koleksi, satu untuk setiap nilai KeySpec , dapat dibuat dan disimpan. Ini dilakukan untuk mempertahankan status pemilihan pasangan penyedia/algoritma sehingga halaman properti yang relevan dapat ditampilkan secara akurat dan cepat beberapa kali dan sehingga metode Encode dapat mengidentifikasi penyedia dan algoritma mana yang dipilih jika kunci privat harus dibuat. Jika status pemilihan pasangan penyedia/algoritma dimodifikasi, perubahan disimpan ke koleksi yang sesuai. Perubahan yang dilakukan pada anggota dari satu koleksi tidak memengaruhi anggota koleksi lain. Koleksi ada selama objek PKCS #10 terus ada.
Misalnya, metode ini dipanggil dengan parameter KeySpec diatur ke XCN_AT_SIGNATURE dan templat digunakan untuk menginisialisasi permintaan. Pernyataan berikut akan benar:
- Kumpulan objek ICspStatus dibuat dan disimpan pada objek IX509CertificateRequestPkcs10 . Koleksi berisi semua pasangan penyedia/algoritma yang valid yang terinstal pada komputer.
- Karena parameter KeySpec tidak diatur ke XCN_AT_NONE, properti Terpilih diatur ke SelectedNo untuk setiap API Kriptografi: pasangan penyedia/algoritma Generasi Berikutnya (CNG) dalam koleksi.
- Karena parameter KeySpec tidak diatur ke XCN_AT_KEYEXCHANGE, properti Terpilih diatur ke SelectedNo untuk setiap pasangan CSP/algoritma CryptoAPI dalam koleksi tempat algoritma dapat digunakan untuk mengenkripsi data atau mengarsipkan kunci.
- Untuk setiap penyedia yang direferensikan oleh templat atau kunci privat tetapi tidak didukung di komputer, objek ICspStatus tempat penampung dibuat dan ditambahkan ke koleksi dan properti Dipilih diatur ke SelectedNo.
- Properti Dipilih diatur ke SelectedYes untuk setiap pasangan CSP/algoritma CryptoAPI di mana algoritma hanya dapat digunakan untuk menandatangani data.
- Properti Ordinal diatur untuk mencerminkan urutan CSP, jika ada, yang diidentifikasi oleh atribut templat pKIDefaultCSPs . CSP yang dicantumkan pertama kali oleh atribut diurutkan terlebih dahulu dalam koleksi. Properti ini digunakan selama pendaftaran jika kunci privat harus dibuat. Pasangan CSP/algoritma pertama yang dipilih digunakan untuk membuat kunci, tetapi jika operasi gagal, pasangan yang dipilih berikutnya akan dicoba.
- Memanggil metode ini lagi dengan parameter KeySpec yang sama mengambil penunjuk ke koleksi yang ada yang dibuat sebelumnya untuk nilai parameter tersebut.
- Memanggil metode ini lagi dengan parameter KeySpec yang berbeda tidak akan memengaruhi koleksi yang dibuat untuk nilai keySpec XCN_AT_SIGNATURE. Selanjutnya, mengubah properti Terpilih pada setiap anggota koleksi baru tidak memengaruhi anggota koleksi sebelumnya.
Metode GetCspStatuses berbeda dari properti CspStatuses dengan menggunakan parameter KeySpec . Metode ini memungkinkan pengguna untuk menentukan nilai ini, tetapi properti menggunakan nilai yang ditetapkan pada kunci privat yang terkait dengan objek permintaan.
Anda harus menginisialisasi objek IX509CertificateRequestPkcs10 sebelum memanggil metode ini. Untuk informasi selengkapnya, lihat salah satu metode berikut:
- InitializeDecode
- InitializeFromCertificate
- InitializeFromPrivateKey
- InitializeFromPublicKey
- InitializeFromTemplateName
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Vista [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2008 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | certenroll.h |
DLL | CertEnroll.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