Fungsi CertAddCertificateLinkToStore (wincrypt.h)
Fungsi CertAddCertificateLinkToStore menambahkan tautan di penyimpanan sertifikat ke konteks sertifikat di penyimpanan yang berbeda. Alih-alih membuat dan menambahkan duplikat konteks sertifikat, fungsi ini menambahkan tautan ke sertifikat asli.
Sintaks
BOOL CertAddCertificateLinkToStore(
[in] HCERTSTORE hCertStore,
[in] PCCERT_CONTEXT pCertContext,
[in] DWORD dwAddDisposition,
[out, optional] PCCERT_CONTEXT *ppStoreContext
);
Parameter
[in] hCertStore
Handel ke penyimpanan sertifikat tempat tautan akan ditambahkan.
[in] pCertContext
Penunjuk ke struktur CERT_CONTEXT yang akan ditautkan.
[in] dwAddDisposition
Menentukan tindakan jika sertifikat yang cocok atau tautan ke sertifikat yang cocok sudah ada di penyimpanan. Nilai disposisi yang ditentukan saat ini dan penggunaannya adalah sebagai berikut.
Nilai | Makna |
---|---|
|
Fungsi ini tidak memeriksa sertifikat yang cocok atau tautan ke sertifikat yang cocok. Sertifikat baru selalu ditambahkan ke penyimpanan. Ini dapat menyebabkan duplikat di toko. |
|
Jika sertifikat yang cocok atau tautan ke sertifikat yang cocok ada, operasi gagal. GetLastError mengembalikan kode CRYPT_E_EXISTS. |
|
Jika ada tautan ke sertifikat yang cocok, tautan yang sudah ada akan dihapus dan tautan baru dibuat dan ditambahkan ke penyimpanan. Jika tidak ada sertifikat atau tautan yang cocok ke sertifikat yang cocok, sertifikat akan ditambahkan. |
|
Jika sertifikat yang cocok atau tautan ke sertifikat yang cocok ada, sertifikat yang ada akan digunakan. Fungsi tidak gagal, tetapi tidak ada tautan baru yang ditambahkan. Jika tidak ada sertifikat atau tautan yang cocok ke sertifikat yang cocok, tautan baru ditambahkan. |
[out, optional] ppStoreContext
Penunjuk ke penunjuk ke salinan tautan yang dibuat. Parameter ppStoreContext dapat berupa NULL untuk menunjukkan bahwa salinan tautan tidak diperlukan. Jika salinan tautan dibuat, salinan tersebut harus dibebaskan menggunakan fungsi CertFreeCertificateContext .
Nilai kembali
Jika fungsi berhasil, nilai yang dikembalikan adalah TRUE.
Jika fungsi gagal, nilai yang dikembalikan adalah FALSE. Untuk informasi kesalahan yang diperluas, hubungi GetLastError. Beberapa kemungkinan kode kesalahan mengikuti.
Menampilkan kode | Deskripsi |
---|---|
|
Untuk parameter dwAddDisposition CERT_STORE_ADD_NEW, sertifikat sudah ada di penyimpanan. |
|
Nilai disposisi yang tidak valid ditentukan dalam parameter dwAddDisposition . |
Keterangan
Karena tautan menyediakan akses ke konteks sertifikat asli, mengatur properti yang diperluas dalam perubahan konteks sertifikat tertaut yang memperluas properti di lokasi asli sertifikat dan di tautan lain ke sertifikat tersebut.
Tautan tidak dapat ditambahkan ke penyimpanan yang dibuka sebagai koleksi. Toko yang dibuka sebagai koleksi mencakup semua toko yang dibuka dengan CertOpenSystemStore atau CertOpenStore menggunakan CERT_STORE_PROV_SYSTEM atau CERT_STORE_PROV_COLLECTION. Untuk informasi selengkapnya, lihat CertAddStoreToCollection.
Jika tautan digunakan dan CertCloseStore dipanggil dengan CERT_CLOSE_STORE_FORCE_FLAG, penyimpanan yang menggunakan tautan harus ditutup sebelum penyimpanan yang berisi konteks asli ditutup. Jika CERT_CLOSE_STORE_FORCE_FLAG tidak digunakan, kedua toko dapat ditutup dalam salah satu pesanan.
Untuk menghapus tautan konteks sertifikat dari penyimpanan sertifikat, gunakan fungsi CertDeleteCertificateFromStore .
Contoh
Untuk contoh yang menggunakan fungsi ini, lihat Contoh Program C: Operasi Penyimpanan Sertifikat. Untuk kode tambahan yang menggunakan fungsi ini, lihat Contoh Program C: Operasi Pengumpulan dan Penyimpanan Sertifikat Saudara.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows XP [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2003 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | wincrypt.h |
Pustaka | Crypt32.lib |
DLL | Crypt32.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