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
CERT_STORE_ADD_ALWAYS
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.
CERT_STORE_ADD_NEW
Jika sertifikat yang cocok atau tautan ke sertifikat yang cocok ada, operasi gagal. GetLastError mengembalikan kode CRYPT_E_EXISTS.
CERT_STORE_ADD_REPLACE_EXISTING
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.
CERT_STORE_ADD_USE_EXISTING
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
CRYPT_E_EXISTS
Untuk parameter dwAddDisposition CERT_STORE_ADD_NEW, sertifikat sudah ada di penyimpanan.
E_INVALIDARG
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

CertAddCRLLinkToStore

CertAddCTLLinkToStore

CertAddStoreToCollection

CertCloseStore

CertFreeCertificateContext

CertOpenStore

CertOpenSystemStore

Fungsi Sertifikat