Fungsi CertAddEncodedCRLToStore (wincrypt.h)

Fungsi CertAddEncodedCRLToStore membuat konteks daftar pencabutan sertifikat (CRL) dari CRL yang dikodekan dan menambahkannya ke penyimpanan sertifikat. Fungsi ini membuat salinan konteks CRL sebelum menambahkannya ke penyimpanan.

Sintaks

BOOL CertAddEncodedCRLToStore(
  [in]            HCERTSTORE    hCertStore,
  [in]            DWORD         dwCertEncodingType,
  [in]            const BYTE    *pbCrlEncoded,
  [in]            DWORD         cbCrlEncoded,
  [in]            DWORD         dwAddDisposition,
  [out, optional] PCCRL_CONTEXT *ppCrlContext
);

Parameter

[in] hCertStore

Menangani penyimpanan sertifikat.

[in] dwCertEncodingType

Menentukan jenis pengodean yang digunakan. Selalu dapat diterima untuk menentukan jenis pengodean sertifikat dan pesan dengan menggabungkannya dengan operasi bitwise-OR seperti yang ditunjukkan dalam contoh berikut:

X509_ASN_ENCODING | PKCS_7_ASN_ENCODING Jenis pengodean yang ditentukan saat ini adalah:

  • X509_ASN_ENCODING
  • PKCS_7_ASN_ENCODING

[in] pbCrlEncoded

Penunjuk ke buffer yang berisi CRL yang dikodekan untuk ditambahkan ke penyimpanan sertifikat.

[in] cbCrlEncoded

Ukuran, dalam byte, dari buffer pbCrlEncoded .

[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, waktu ThisUpdate pada CRL dibandingkan. 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 baru 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] ppCrlContext

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

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
CERT_STORE_ADD_NEW diatur dan CRL sudah ada di penyimpanan, atau CERT_STORE_ADD_NEWER diatur dan ada CRL di penyimpanan dengan waktu ThisUpdate lebih besar dari atau sama dengan waktu ThisUpdate agar CRL ditambahkan.
E_INVALIDARG
Nilai disposisi yang tidak valid ditentukan dalam parameter dwAddDisposition , atau jenis pengodean yang tidak valid ditentukan. Saat ini, hanya jenis pengodean X509_ASN_ENCODING yang didukung.
 

Jika fungsi gagal, GetLastError dapat mengembalikan kesalahan pengodean/pendekodean Abstract Syntax Notation One (ASN.1). Untuk informasi tentang kesalahan ini, lihat Nilai Pengembalian Pengodean/Pendekodean ASN.1.

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

CertAddCRLContextToStore

CertFreeCRLContext

Fungsi Daftar Pencabutan Sertifikat