Fungsi CertGetCRLFromStore (wincrypt.h)
Fungsi CertGetCRLFromStore mendapatkan konteksdaftar pencabutan sertifikat (CRL) pertama atau berikutnya dari penyimpanan sertifikat untuk penerbit yang ditentukan. Fungsi ini juga melakukan pemeriksaan verifikasi yang diaktifkan pada CRL. Fungsi Verifikasi Rantai Sertifikat baru direkomendasikan alih-alih fungsi ini.
Sintaks
PCCRL_CONTEXT CertGetCRLFromStore(
[in] HCERTSTORE hCertStore,
[in, optional] PCCERT_CONTEXT pIssuerContext,
[in] PCCRL_CONTEXT pPrevCrlContext,
[in, out] DWORD *pdwFlags
);
Parameter
[in] hCertStore
Menangani penyimpanan sertifikat.
[in, optional] pIssuerContext
Penunjuk ke CERT_CONTEXT pengeluar sertifikat. Penunjuk pIssuerContext dapat berasal dari penyimpanan ini atau penyimpanan lain, atau dapat dibuat oleh panggilan CertCreateCertificateContext. Jika NULL diteruskan untuk parameter ini, semua CRL di penyimpanan ditemukan.
[in] pPrevCrlContext
Penunjuk ke CRL_CONTEXT. Pengeluar sertifikat dapat memiliki beberapa CRL. Misalnya, ia dapat menghasilkan CRL delta dengan menggunakan ekstensi X.509 versi 3. Parameter ini harus NULL pada panggilan pertama untuk mendapatkan CRL. Untuk mendapatkan CRL berikutnya untuk pengeluar sertifikat, parameter diatur ke CRL_CONTEXT yang dikembalikan oleh panggilan sebelumnya. pPrevCrlContextnon-NULL selalu dibebaskan oleh fungsi ini dengan memanggil CertFreeCRLContext, bahkan untuk kesalahan.
[in, out] pdwFlags
Nilai bendera berikut didefinisikan untuk mengaktifkan pemeriksaan verifikasi pada CRL yang dikembalikan. Bendera ini dapat digabungkan menggunakan operasi bitwise-OR.
Jika pemeriksaan verifikasi yang diaktifkan berhasil, benderanya diatur ke nol.
Jika pemeriksaan verifikasi yang diaktifkan gagal, benderanya tetap ditetapkan saat pengembalian. Jika pIssuerContext adalah NULL, maka CERT_STORE_SIGNATURE_FLAG yang diaktifkan selalu gagal dan CERT_STORE_NO_ISSUER_FLAG juga diatur. Untuk mengetahui detail selengkapnya, harap lihat Keterangan.
Jika hanya salah satu dari CERT_STORE_BASE_CRL_FLAG atau CERT_STORE_DELTA_CRL_FLAG yang diatur, fungsi ini mengembalikan CRL dasar atau delta dan bendera dasar atau delta yang sesuai akan dibersihkan saat dikembalikan. Jika kedua bendera diatur, hanya salah satu bendera yang akan dihapus.
Untuk kegagalan pemeriksaan verifikasi, pointer ke CRL_CONTEXT pertama atau berikutnya masih dikembalikan dan GetLastError tidak diperbarui.
Mengembalikan nilai
Jika fungsi berhasil, nilai yang dikembalikan adalah penunjuk ke CRL_CONTEXT baca-saja.
Jika fungsi gagal dan CRL pertama atau berikutnya tidak ditemukan, nilai yang dikembalikan adalah NULL.
CRL_CONTEXT yang dikembalikan harus dibebaskan dengan memanggil CertFreeCRLContext. Namun, ketika CRL_CONTEXT yang dikembalikan disediakan untuk pPrevCrlContext pada panggilan berikutnya, fungsi membebaskannya.
Untuk informasi kesalahan yang diperluas, hubungi GetLastError. Beberapa kemungkinan kode kesalahan mengikuti.
Nilai | Deskripsi |
---|---|
|
Handel dalam parameter hCertStore tidak sama dengan yang dalam konteks CRL yang diarahkan oleh parameter pPrevCrlContext , atau bendera yang tidak didukung diatur dalam pdwFlags. |
|
Baik tidak ada CRL yang ada di penyimpanan untuk penerbit, atau fungsi mencapai akhir daftar penyimpanan. |
Keterangan
CertDuplicateCRLContext dapat dipanggil untuk membuat CRL duplikat.
Nilai heksadesimal bendera dapat digabungkan menggunakan operasi bitwise-OR untuk mengaktifkan kedua verifikasi. Misalnya, untuk mengaktifkan kedua verifikasi, nilai DWORD yang diarahkan oleh pdwFlags diatur ke nilai CERT_STORE_SIGNATURE_FLAG | CERT_STORE_TIME_VALIDITY_FLAG. Jika verifikasi CERT_STORE_SIGNATURE_FLAG berhasil, tetapi verifikasi CERT_STORE_TIME_VALIDITY_FLAG gagal, nilai DWORD yang ditunjukkan oleh pdwFlags diatur ke CERT_STORE_TIME_VALIDITY_FLAG saat fungsi kembali.
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 |