Fungsi CertAddCRLContextToStore (wincrypt.h)

Fungsi CertAddCRLContextToStore menambahkan konteks daftar pencabutan sertifikat (CRL) ke penyimpanan sertifikat yang ditentukan.

Sintaks

BOOL CertAddCRLContextToStore(
  [in]            HCERTSTORE    hCertStore,
  [in]            PCCRL_CONTEXT pCrlContext,
  [in]            DWORD         dwAddDisposition,
  [out, optional] PCCRL_CONTEXT *ppStoreContext
);

Parameter

[in] hCertStore

Menangani penyimpanan sertifikat.

[in] pCrlContext

Penunjuk ke struktur CRL_CONTEXT yang akan ditambahkan.

[in] dwAddDisposition

Menentukan tindakan yang akan diambil jika CRL yang cocok atau tautan ke CRL yang cocok sudah ada di penyimpanan. Nilai disposisi yang ditentukan saat ini dan penggunaannya adalah sebagai berikut.

Nilai Makna
CERT_STORE_ADD_ALWAYS
Tidak memeriksa CRL yang cocok atau tautan ke CRL yang cocok. CRL baru selalu ditambahkan ke penyimpanan. Ini dapat menyebabkan duplikat di toko.
CERT_STORE_ADD_NEW
Jika CRL yang cocok atau tautan ke CRL yang cocok ada, operasi gagal. GetLastError mengembalikan kode CRYPT_E_EXISTS.
CERT_STORE_ADD_NEWER
Jika CRL yang cocok atau tautan ke CRL yang cocok ada, fungsi membandingkan waktu ThisUpdate pada CRL. Jika CRL yang ada memiliki waktu ThisUpdate kurang dari waktu ThisUpdate pada CRL baru, CRL atau tautan lama diganti sama seperti CERT_STORE_ADD_REPLACE_EXISTING. Jika CRL yang ada memiliki waktu ThisUpdate yang lebih besar dari atau sama dengan waktu ThisUpdate pada CRL yang akan ditambahkan, fungsi gagal dengan GetLastError mengembalikan kode CRYPT_E_EXISTS.

Jika CRL yang cocok atau tautan ke CRL yang cocok tidak ditemukan di penyimpanan, CRL baru ditambahkan ke penyimpanan.

CERT_STORE_ADD_NEWER_INHERIT_PROPERTIES
Tindakan ini sama dengan untuk CERT_STORE_ADD_NEWER, kecuali bahwa jika CRL yang lebih lama diganti, properti CRL yang lebih lama dimasukkan ke dalam CRL pengganti.
CERT_STORE_ADD_REPLACE_EXISTING
Jika CRL yang cocok atau tautan ke CRL yang cocok ada, CRL atau tautan yang ada akan dihapus dan CRL baru dibuat dan ditambahkan ke penyimpanan. Jika CRL yang cocok atau tautan ke CRL yang cocok tidak ada, CRL akan ditambahkan.
CERT_STORE_ADD_REPLACE_EXISTING_INHERIT_PROPERTIES
Jika CRL yang cocok ada di penyimpanan, konteks yang ada akan dihapus sebelum membuat dan menambahkan konteks baru. Konteks tambahan mewarisi properti dari CRL yang ada.
CERT_STORE_ADD_USE_EXISTING
Jika CRL yang cocok atau tautan ke CRL yang cocok ada, CRL yang ada digunakan dan properti dari CRL baru ditambahkan. Fungsi tidak gagal, tetapi tidak ada CRL baru yang ditambahkan. Jika ppCertContext bukan NULL, konteks yang ada diduplikasi.

Jika CRL yang cocok atau tautan ke CRL yang cocok tidak ada, CRL baru ditambahkan.

[out, optional] ppStoreContext

Penunjuk ke penunjuk ke konteks CRL yang didekodekan. Ini adalah parameter opsional dan dapat berupa NULL, yang menunjukkan bahwa aplikasi panggilan tidak memerlukan salinan CRL yang ditambahkan atau yang ada. Jika salinan dibuat, konteks tersebut harus dibebaskan dengan menggunakan CertFreeCRLContext.

Nilai kembali

Jika fungsi berhasil, nilai yang dikembalikan adalah TRUE.

Jika fungsi gagal, nilai yang dikembalikan adalah FALSE. Kesalahan dari fungsi yang disebut CertAddEncodedCRLToStore dan CertSetCRLContextProperty dapat disebarkan ke fungsi ini.

Untuk informasi kesalahan yang diperluas, hubungi GetLastError. Beberapa kemungkinan kode kesalahan mengikuti.

Menampilkan kode Deskripsi
CRYPT_E_EXISTS
Kesalahan ini dikembalikan jika CERT_STORE_ADD_NEW diatur dan CRL sudah ada di penyimpanan atau jika CERT_STORE_ADD_NEWER diatur dan CRL ada di penyimpanan dengan tanggal ThisUpdate lebih besar dari atau sama dengan tanggal ThisUpdate pada CRL yang akan ditambahkan.
E_INVALIDARG
Parameter dwAddDisposition menentukan nilai disposisi yang tidak valid.

Keterangan

Konteks CRL tidak diduplikasi menggunakan CertDuplicateCRLContext. Sebagai gantinya, salinan baru dibuat dan ditambahkan ke penyimpanan. Selain menyalin CRL yang dikodekan, fungsi menyalin properti konteks.

Untuk menghapus konteks CRL dari penyimpanan sertifikat, gunakan fungsi CertDeleteCRLFromStore .

Persyaratan

   
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

CertAddEncodedCRLToStore

CertDuplicateCRLContext

CertFreeCRLContext

CertSetCRLContextProperty

Fungsi Daftar Pencabutan Sertifikat