Fungsi CertFindCTLInStore (wincrypt.h)
Fungsi CertFindCTLInStore menemukan konteksdaftar kepercayaan sertifikat (CTL) pertama atau berikutnya yang cocok dengan kriteria pencarian yang ditetapkan oleh dwFindType dan pvFindPara terkait. Fungsi ini dapat digunakan dalam perulangan untuk menemukan semua konteks CTL di penyimpanan sertifikat yang cocok dengan kriteria temukan yang ditentukan.
Sintaks
PCCTL_CONTEXT CertFindCTLInStore(
[in] HCERTSTORE hCertStore,
[in] DWORD dwMsgAndCertEncodingType,
[in] DWORD dwFindFlags,
[in] DWORD dwFindType,
[in] const void *pvFindPara,
[in] PCCTL_CONTEXT pPrevCtlContext
);
Parameter
[in] hCertStore
Menangani penyimpanan sertifikat yang akan dicari.
[in] dwMsgAndCertEncodingType
Menentukan jenis pengodean yang digunakan pada CTL. 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
Parameter ini hanya digunakan ketika parameter dwFindType diatur ke CTL_FIND_USAGE.
[in] dwFindFlags
Dapat diatur ketika dwFindType diatur ke CTL_FIND_USAGE. Untuk detailnya, lihat komentar di bawah CTL_FIND_USAGE, berikut ini.
[in] dwFindType
Menentukan tipe pencarian yang sedang dilakukan. Jenis pencarian menentukan jenis data, konten, dan penggunaan pvFindPara. Parameter ini bisa menjadi salah satu nilai berikut.
Nilai | Makna |
---|---|
|
Jenis data pvFindPara: NULL.
CTL apa pun cocok. |
|
Jenis data pvFindPara: CRYPT_HASH_BLOB.
CTL dengan hash yang cocok dengan hash dalam struktur CRYPT_HASH_BLOB ditemukan. |
|
Jenis data pvFindPara: CRYPT_HASH_BLOB.
CTL dengan hash yang cocok dengan hash dalam struktur CRYPT_HASH_BLOB ditemukan. |
|
Jenis data pvFindPara: CTL_FIND_USAGE_PARA.
Setiap CTL ditemukan yang memiliki pengidentifikasi penggunaan, pengidentifikasi daftar, atau penanda tangan yang cocok dengan pengidentifikasi penggunaan, pengidentifikasi daftar, atau penanda tangan dalam struktur CTL_FIND_USAGE_PARA . Jika anggota cUsageIdentifier berukuran SubjectUsage , CTL apa pun cocok. Jika anggota cbData anggota ListIdentifier adalah nol, pengidentifikasi daftar apa pun cocok. Jika anggota cbDataListIdentifier CTL_FIND_NO_LIST_ID_CBDATA, hanya CTL tanpa pengidentifikasi daftar yang cocok. Jika anggota pSigner dalam struktur CTL_FIND_USAGE_PARAadalah NULL, penanda tangan CTL apa pun adalah kecocokan, dan hanya anggota Penerbit dan SerialNumber dalam struktur CERT_INFOpSigner yang digunakan. Jika pSigner CTL_FIND_NO_SIGNER_PTR, hanya CTL tanpa penanda tangan yang cocok. |
|
Jenis data pvFindPara: CTL_FIND_USAGE_PARA.
Hanya CCL dengan pengidentifikasi penggunaan yang sama persis yang cocok. CTL yang memiliki pengidentifikasi penggunaan tambahan tidak cocok. Misalnya, jika hanya "1.2.3" yang ditentukan dalam struktur CTL_FIND_USAGE_PARA , maka untuk kecocokan, CTL hanya boleh berisi "1.2.3" dan tidak ada pengidentifikasi penggunaan tambahan. |
|
Jenis data pvFindPara: PCCTL_CONTEXT.
Mencari CRL berikutnya yang sama persis dengan CTL_CONTEXT. |
|
Jenis data pvFindPara: CTL_FIND_SUBJECT_PARA.
CTL yang memiliki subjek yang ditentukan ditemukan. CertFindSubjectInCTL dapat dipanggil untuk mendapatkan penunjuk ke entri subjek di CTL. Anggota pUsagePara di CTL_FIND_SUBJECT_PARA secara opsional dapat diatur untuk mengaktifkan pencocokan yang dijelaskan sebelumnya di bawah CTL_FIND_USAGE. |
[in] pvFindPara
Penunjuk ke nilai pencarian yang terkait dengan parameter dwFindType .
[in] pPrevCtlContext
Penunjuk ke CTL_CONTEXT terakhir yang dikembalikan oleh fungsi ini. Harus NULL untuk mendapatkan CTL pertama di toko. CCL berturut-turut diambil dengan mengatur pPrevCtlContext ke penunjuk ke CTL_CONTEXT yang dikembalikan oleh panggilan fungsi sebelumnya. Sertifikat apa pun yang tidak memenuhi kriteria pencarian atau yang sebelumnya telah dihapus oleh CertDeleteCTLFromStore dilewati. Fungsi ini membebaskan CTL_CONTEXT yang dirujuk oleh nilai non-NULL dari parameter ini.
Nilai kembali
Jika fungsi berhasil, nilai yang dikembalikan adalah penunjuk ke konteksCTL baca-saja.
Untuk informasi kesalahan yang diperluas, hubungi GetLastError. Beberapa kemungkinan kode kesalahan mengikuti.
Menampilkan kode | Deskripsi |
---|---|
|
Baik tidak ada CTL yang ditemukan di penyimpanan, tidak ada CTL yang ditemukan yang cocok dengan kriteria pencarian, atau fungsi mencapai akhir daftar penyimpanan. |
|
Handel dalam parameter hCertStore tidak sama dengan yang dalam konteks CTL yang diarahkan oleh parameter pPrevCtlContext , atau nilai yang tidak valid ditentukan dalam parameter dwFindType . |
Keterangan
Pointer yang dikembalikan dibebaskan saat diteruskan sebagai pPrevCtlContext pada panggilan berikutnya ke fungsi. Jika tidak, pointer harus dibebaskan dengan memanggil CertFreeCTLContext. pPrevCtlContextnon-NULL yang diteruskan ke fungsi selalu dibebaskan dengan panggilan ke CertFreeCTLContext, bahkan jika fungsi menghasilkan kesalahan.
CertDuplicateCTLContext dapat dipanggil untuk membuat duplikat konteks yang dikembalikan. Konteks CTL yang dikembalikan dapat ditambahkan ke penyimpanan sertifikat yang berbeda menggunakan CertAddCTLContextToStore, atau tautan ke konteks CTL tersebut dapat ditambahkan ke penyimpanan nonkoleksi menggunakan CertAddCTLLinkToStore. Jika CTL yang cocok dengan kriteria pencarian tidak ditemukan, NULL dikembalikan.
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