Fungsi CertOpenSystemStoreA (wincrypt.h)
Fungsi CertOpenSystemStore adalah fungsi yang disederhanakan yang membuka penyimpanan sertifikat sistem yang paling umum. Untuk membuka penyimpanan sertifikat dengan persyaratan yang lebih kompleks, seperti penyimpanan berbasis file atau berbasis memori, gunakan CertOpenStore.
Sintaks
HCERTSTORE CertOpenSystemStoreA(
[in] HCRYPTPROV_LEGACY hProv,
[in] LPCSTR szSubsystemProtocol
);
Parameter
[in] hProv
Parameter ini tidak digunakan dan harus diatur ke 0.
Windows Server 2003 dan Windows XP: Handel penyedia layanan kriptografi (CSP). Atur hProv ke 0 untuk menggunakan CSP default. Jika hProv bukan 0, itu harus menjadi handel CSP yang dibuat dengan menggunakan fungsi CryptAcquireContext . Jenis data parameter ini adalah HCRYPTPROV.
[in] szSubsystemProtocol
String yang menamai penyimpanan sistem. Jika nama penyimpanan sistem yang disediakan dalam parameter ini bukan nama penyimpanan sistem yang ada, penyimpanan sistem baru akan dibuat dan digunakan. CertEnumSystemStore dapat digunakan untuk mencantumkan nama penyimpanan sistem yang ada. Beberapa contoh penyimpanan sistem tercantum dalam tabel berikut.
Nilai | Makna |
---|---|
|
Sertifikat otoritas sertifikasi . |
|
Penyimpanan sertifikat yang menyimpan sertifikat dengan kunci privat terkait. |
|
Sertifikat akar. |
|
Sertifikat Penerbit Perangkat Lunak. |
Mengembalikan nilai
Jika fungsi berhasil, fungsi mengembalikan handel ke penyimpanan sertifikat.
Jika fungsi gagal, fungsi akan mengembalikan NULL. Untuk informasi kesalahan yang diperluas, hubungi GetLastError.
Keterangan
Hanya sertifikat pengguna saat ini yang dapat diakses menggunakan metode ini, bukan penyimpanan komputer lokal.
Setelah penyimpanan sistem dibuka, semua fungsi penyimpanan sertifikat standar dapat digunakan untuk memanipulasi sertifikat.
Setelah digunakan, toko harus ditutup dengan menggunakan CertCloseStore.
Untuk informasi selengkapnya tentang penyimpanan yang dimigrasikan secara otomatis, lihat Migrasi Penyimpanan Sertifikat.
Contoh
Contoh berikut menunjukkan metode yang disederhanakan untuk membuka penyimpanan sertifikat sistem yang paling umum. Untuk contoh lain yang menggunakan fungsi ini, lihat Contoh Program C: Operasi Penyimpanan Sertifikat.
//--------------------------------------------------------------------
// Declare and initialize variables.
HCERTSTORE hSystemStore; // system store handle
//--------------------------------------------------------------------
// Open the CA system certificate store. The same call can be
// used with the name of a different system store, such as My or Root,
// as the second parameter.
if(hSystemStore = CertOpenSystemStore(
0,
"CA"))
{
printf("The CA system store is open. Continue.\n");
}
else
{
printf("The CA system store did not open.\n");
exit(1);
}
// Use the store as needed.
// ...
// When done using the store, close it.
if(!CertCloseStore(hSystemStore, 0))
{
printf("Unable to close the CA system store.\n");
exit(1);
}
Catatan
Header wincrypt.h mendefinisikan CertOpenSystemStore sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.
Persyaratan
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 | Crypt32.lib |
DLL | Crypt32.dll |