Fungsi CertFindCRLInStore (wincrypt.h)
Fungsi CertFindCRLInStore menemukan konteks daftar pencabutan sertifikat (CRL) pertama atau berikutnya di penyimpanan sertifikat yang cocok dengan kriteria pencarian yang ditetapkan oleh parameter dwFindType dan parameter pvFindPara terkait. Fungsi ini dapat digunakan dalam perulangan untuk menemukan semua konteks CRL di penyimpanan sertifikat yang cocok dengan kriteria temukan yang ditentukan.
Sintaks
PCCRL_CONTEXT CertFindCRLInStore(
[in] HCERTSTORE hCertStore,
[in] DWORD dwCertEncodingType,
[in] DWORD dwFindFlags,
[in] DWORD dwFindType,
[in] const void *pvFindPara,
[in] PCCRL_CONTEXT pPrevCrlContext
);
Parameter
[in] hCertStore
Handel penyimpanan sertifikat yang akan dicari.
[in] dwCertEncodingType
Parameter ini saat ini tidak digunakan. Ini harus diatur ke nol.
[in] dwFindFlags
Jika dwFindType CRL_FIND_ISSUED_BY, secara default, hanya pencocokan nama penerbit yang dilakukan. Bendera berikut dapat digunakan untuk melakukan pemfilteran tambahan.
Nilai | Makna |
---|---|
|
Memeriksa CRL yang memiliki ekstensi Authority Key Identifier (AKI). Jika CRL memiliki AKI, hanya CRL yang AKI-nya cocok dengan pengeluar sertifikat yang dikembalikan.
Catatan Ekstensi AKI memiliki nilai pengidentifikasi objek (OID) szOID_AUTHORITY_KEY_IDENTIFIER2 dan struktur data yang sesuai.
|
|
Gunakan kunci umum dalam sertifikat penerbit untuk memverifikasi tanda tangan pada CRL. Hanya mengembalikan CRL yang memiliki tanda tangan yang valid. |
|
Menemukan dan mengembalikan CRL delta. |
|
Menemukan dan mengembalikan CRL dasar. |
|
Tanda tangan diperiksa kekuatannya setelah verifikasi berhasil. Bendera ini hanya berlaku ketika parameter dwFindType diatur ke CRL_FIND_ISSUED_FOR. Anda juga harus mengatur CRL_FIND_ISSUED_BY_SIGNATURE_FLAG. Jika berhasil, properti tanda tangan kuat berikut akan diatur pada konteks CRL:
|
[in] dwFindType
Menentukan tipe pencarian yang sedang dilakukan. Nilai dwFindType menentukan jenis data, konten, dan penggunaan parameter pvFindPara . Jenis pencarian yang ditentukan saat ini dan persyaratan pvFindPara-nya adalah sebagai berikut.
Nilai | Makna |
---|---|
|
Tidak ada kriteria pencarian. CRL berikutnya di toko dikembalikan. |
|
Mencari CRL berikutnya di toko yang cocok dengan penerbit di CERT_CONTEXT. |
|
Mencari CRL berikutnya yang cocok dengan CRL_CONTEXT dengan cara berikut:
|
|
Mencari CRL berikutnya di penyimpanan yang cocok dengan penerbit sertifikat subjek dalam struktur CRL_FIND_ISSUED_FOR_PARA.
Jika tidak ada CRL yang ditemukan, cari CRL berikutnya di penyimpanan yang cocok dengan penerbit dalam struktur CRL_FIND_ISSUED_FOR_PARA. Catatan Saat menggunakan sertifikat silang, nama subjek dalam sertifikat penerbit mungkin tidak cocok dengan nama pengeluar sertifikat dalam sertifikat subjek dan CRL yang sesuai.
|
[in] pvFindPara
Parameter ini ditentukan oleh nilai dwFindType. Untuk detailnya, lihat tabel sebelumnya dalam topik ini.
[in] pPrevCrlContext
Penunjuk ke CRL_CONTEXT terakhir yang dikembalikan oleh fungsi ini. Harus NULL untuk mendapatkan CRL pertama di toko yang memenuhi kriteria pencarian. CRL berturut-turut yang memenuhi kriteria pencarian dapat ditemukan dengan mengatur pPrevCrlContext ke penunjuk PCCRL_CONTEXT yang dikembalikan oleh panggilan sebelumnya ke fungsi. Proses pencarian melewati CRL apa pun yang tidak cocok dengan kriteria pencarian atau yang sebelumnya telah dihapus dari penyimpanan oleh CertDeleteCRLFromStore. Fungsi ini membebaskan CRL_CONTEXT yang dirujuk oleh nilai parameter ini yang bukan NULL.
Nilai kembali
Jika fungsi berhasil, fungsi mengembalikan penunjuk ke konteks CRL baca-saja. Setelah Anda selesai menggunakan konteks CRL yang dikembalikan, bebaskan dengan memanggil fungsi CertFreeCRLContext atau secara implisit membebaskannya dengan meneruskannya sebagai parameter pPrevCrlContext pada panggilan berikutnya ke fungsi CertFindCRLInStore .
Jika fungsi gagal dan CRL yang cocok dengan kriteria pencarian tidak ditemukan, nilai yang dikembalikan adalah NULL. Untuk informasi kesalahan yang diperluas, hubungi GetLastError. Beberapa kemungkinan kode kesalahan mengikuti.
Menampilkan kode | Deskripsi |
---|---|
|
Handel dalam parameter hCertStore tidak sama dengan yang dalam konteks CRL yang diarahkan oleh parameter pPrevCrlContext , atau jenis pencarian yang tidak valid ditentukan dalam parameter dwFindType . |
|
Tidak ada CRL di penyimpanan, tidak ada CRL yang ditemukan yang cocok dengan kriteria pencarian, atau akhir daftar penyimpanan tercapai. |
Keterangan
Pointer yang dikembalikan dibebaskan ketika diteruskan sebagai parameter pPrevCrlContext pada panggilan berikutnya ke fungsi. Jika tidak, pointer harus dibebaskan secara eksplisit dengan memanggil CertFreeCRLContext. pPrevCrlContext yang bukan NULL selalu dibebaskan oleh CertFindCRLInStore menggunakan panggilan ke CertFreeCRLContext, bahkan jika ada kesalahan dalam fungsi.
CertDuplicateCRLContext dapat dipanggil untuk membuat duplikat konteks yang dikembalikan. Konteks CRL yang dikembalikan dapat ditambahkan ke penyimpanan sertifikat yang berbeda dengan menggunakan CertAddCRLContextToStore, atau tautan ke konteks CRL tersebut dapat ditambahkan ke penyimpanan nonkoleksi dengan menggunakan CertAddCRLLinkToStore.
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