Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Struktur CERT_STORE_PROV_FIND_INFO digunakan oleh banyak fungsi panggilan balik penyedia penyimpanan. Ini berisi kriteria pencarian untuk menemukan sertifikat, daftar pencabutan sertifikat (CRL), atau daftar kepercayaan sertifikat (CTL) di penyimpanan sertifikat.
Sintaks
typedef struct _CERT_STORE_PROV_FIND_INFO {
DWORD cbSize;
DWORD dwMsgAndCertEncodingType;
DWORD dwFindFlags;
DWORD dwFindType;
const void *pvFindPara;
} CERT_STORE_PROV_FIND_INFO, *PCERT_STORE_PROV_FIND_INFO;
Anggota
cbSize
Ukuran struktur.
dwMsgAndCertEncodingType
Menentukan jenis pengodean yang digunakan untuk pesan dan sertifikat. Jenis pengodean sertifikat dan pesan dapat dikombinasikan dengan operasi bitwise-OR. Berikut adalah jenis pengodean yang ditentukan:
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
dwFindFlags
Digunakan dengan beberapa nilai dwFindType untuk mengubah kriteria pencarian. Untuk sebagian besar nilai dwFindType , dwFindFlags tidak digunakan dan harus diatur ke nol.
dwFindType
Menentukan tipe pencarian yang sedang dilakukan. Jenis pencarian menentukan jenis data, konten, dan penggunaan pvFindPara. Nilai dwFindType yang ditentukan saat ini dan jenis data yang masing-masing diperlukan untuk pvFindPara adalah sebagai berikut.
Nilai | Makna |
---|---|
|
Tidak ada kriteria pencarian yang digunakan. Mengembalikan sertifikat berikutnya di penyimpanan. |
|
Menemukan sertifikat yang diidentifikasi oleh CERT_ID yang ditentukan. |
|
Mencari sertifikat yang memiliki ekstensi szOID_ENHANCED_KEY_USAGE atau CERT_CTL_PROP_ID yang cocok dengan anggota pszUsageIdentifier dari struktur CTL_USAGE . |
|
Mencari sertifikat di penyimpanan yang memiliki ekstensi penggunaan kunci yang ditingkatkan atau properti penggunaan kunci yang ditingkatkan dan pengidentifikasi penggunaan yang cocok dengan anggota pszUsageIdentifier dalam struktur CERT_ENHKEY_USAGE .
Sertifikat memiliki ekstensi penggunaan kunci yang disempurnakan jika memiliki struktur CERT_EXTENSION dengan anggota pszObjId diatur ke szOID_ENHANCED_KEY_USAGE. Sertifikat memiliki properti penggunaan kunci yang ditingkatkan jika pengidentifikasi CERT_ENHKEY_USAGE_PROP_ID diatur. Jika pvFindPara adalah NULL atau anggota cUsageIdentifierCERT_ENHKEY_USAGE adalah nol, sertifikat apa pun yang memiliki ekstensi penggunaan kunci yang ditingkatkan atau properti penggunaan kunci yang ditingkatkan memenuhi kriteria pilihan. Jika pvFindPara adalah NULL atau anggota cUsageIdentifier dari struktur CERT_ENHKEY_USAGE adalah nol, sertifikat apa pun yang memiliki penggunaan kunci yang ditingkatkan adalah kecocokan. Jika CERT_FIND_OPTIONAL_ENHKEY_USAGE_FLAG diatur dalam dwFindFlags, sertifikat tanpa ekstensi penggunaan kunci atau properti juga cocok. Mengatur bendera ini lebih diutamakan daripada melewati NULL di pvFindPara. Jika CERT_FIND_EXT_ONLY_ENHKEY_USAGE_FLAG diatur, kecocokan hanya dilakukan pada ekstensi penggunaan kunci. Untuk informasi tentang modifikasi bendera pada kriteria pencarian, lihat Keterangan. |
|
Mencari sertifikat yang sama persis dengan konteks sertifikat yang ditentukan. |
|
Mencari sertifikat dengan hash SHA1 yang cocok dengan hash dalam struktur CRYPT_HASH_BLOB . |
|
Cari sertifikat dengan atribut pengeluar sertifikat tertentu yang cocok dengan atribut dalam struktur CERT_RDN . Jika nilai-nilai ini diatur, fungsi membandingkan atribut penerbit dalam sertifikat dengan elemen array CERT_RDN_ATTR dalam struktur CERT_RDN ini. Perbandingan iterasi melalui atribut CERT_RDN_ATTR mencari kecocokan dengan atribut penerbit sertifikat.
Jika anggota pszObjIddari CERT_RDN_ATTR adalah NULL, pengidentifikasi objek atribut diabaikan. Jika anggota dwValueTypedari CERT_RDN_ATTR CERT_RDN_ANY_TYPE, jenis nilai diabaikan. Jika anggota pbDatadari CERT_RDN_VALUE_BLOB adalah NULL, nilai apa pun cocok. Saat ini, hanya kecocokan yang tepat dan peka huruf besar/kecil yang didukung. Untuk informasi tentang opsi Unicode, lihat Keterangan. Ketika nilai-nilai ini diatur, pencarian dibatasi untuk sertifikat yang jenis pengodeannya cocok dengan dwMsgAndCertEncodingType. |
|
Cari sertifikat dengan kecocokan yang tepat dari seluruh nama pengeluar sertifikat dengan nama di CERT_NAME_BLOB. Pencarian dibatasi untuk sertifikat yang cocok dengan dwMsgAndCertEncodingType. |
|
Mencari sertifikat dengan pengeluar sertifikat yang cocok dengan penerbit di CERT_CONTEXT.
Alih-alih menggunakan fungsi CertFindCertificateInStore dengan nilai ini, gunakan fungsi CertGetCertificateChain . |
|
Cari sertifikat yang berisi string nama pengeluar sertifikat yang ditentukan. Anggota pengeluar sertifikat dikonversi ke string nama dengan jenis yang sesuai menggunakan bentuk CertNameToStr yang sesuai yang diformat sebagai CERT_SIMPLE_NAME_STR. Kemudian pencocokan substring-within-a-string yang tidak sensitif huruf besar/kecil dilakukan. Ketika nilai ini diatur, pencarian dibatasi untuk sertifikat yang jenis pengodeannya cocok dengan dwMsgAndCertEncodingType. |
|
Mencari sertifikat dengan properti CERT_KEY_IDENTIFIER_PROP_ID yang cocok dengan pengidentifikasi kunci di CRYPT_HASH_BLOB. |
|
Mencari sertifikat yang memiliki properti CERT_KEY_SPEC_PROP_ID yang cocok dengan spesifikasi kunci di pvFindPara. |
|
Mencari sertifikat dengan hash MD5 yang cocok dengan hash di CRYPT_HASH_BLOB. |
|
Mencari sertifikat dengan properti yang cocok dengan pengidentifikasi properti yang ditentukan oleh DWORD di pvFindPara. |
|
Mencari sertifikat dengan kunci umum yang cocok dengan kunci umum dalam struktur CERT_PUBLIC_KEY_INFO . |
|
Mencari sertifikat dengan hash SHA1 yang cocok dengan hash dalam struktur CRYPT_HASH_BLOB . |
|
Mencari sertifikat dengan hash tanda tangan yang cocok dengan hash tanda tangan dalam struktur CRYPT_HASH_BLOB . |
|
Mencari sertifikat dengan atribut subjek tertentu yang cocok dengan atribut dalam struktur CERT_RDN . Jika nilai RDN diatur, fungsi membandingkan atribut subjek dalam sertifikat dengan elemen array CERT_RDN_ATTR dalam struktur CERT_RDN ini. Perbandingan iterasi melalui atribut CERT_RDN_ATTR mencari kecocokan dengan atribut subjek sertifikat.
Jika anggota pszObjIddari CERT_RDN_ATTR adalah NULL, pengidentifikasi objek atribut diabaikan. Jika anggota dwValueTypedari CERT_RDN_ATTR CERT_RDN_ANY_TYPE, jenis nilai diabaikan. Jika anggota pbDatadari CERT_RDN_VALUE_BLOB adalah NULL, nilai apa pun cocok. Saat ini, hanya kecocokan yang tepat dan peka huruf besar/kecil yang didukung. Untuk informasi tentang opsi Unicode, lihat Keterangan. Ketika nilai-nilai ini diatur, pencarian dibatasi untuk sertifikat yang jenis pengodeannya cocok dengan dwMsgAndCertEncodingType. |
|
Mencari sertifikat dengan pengeluar sertifikat dan nomor seri yang cocok dengan penerbit dan nomor seri dalam struktur CERT_INFO . |
|
Mencari sertifikat dengan kecocokan yang tepat dari seluruh nama subjek dengan nama dalam struktur CERT_NAME_BLOB . Pencarian dibatasi untuk sertifikat yang cocok dengan nilai dwMsgAndCertEncodingType. |
|
Mencari sertifikat yang berisi string nama subjek yang ditentukan. Anggota subjek sertifikat dikonversi ke string nama dengan jenis yang sesuai menggunakan bentuk CertNameToStr yang sesuai yang diformat sebagai CERT_SIMPLE_NAME_STR. Kemudian pencocokan substring-within-a-string yang tidak sensitif huruf besar/kecil dilakukan. Ketika nilai ini diatur, pencarian dibatasi untuk sertifikat yang jenis pengodeannya cocok dengan dwMsgAndCertEncodingType. |
pvFindPara
Menunjuk ke item data atau struktur yang akan digunakan dengan jenis temukan yang ditunjukkan oleh nilai dwFindType.
Keterangan
Anggota dwFindFlags digunakan untuk memodifikasi kriteria beberapa jenis pencarian.
Nilai dwFindFlags CERT_UNICODE_IS_RDN_ATTRS_FLAG hanya digunakan dengan nilai CERT_FIND_SUBJECT_ATTR dan CERT_FIND_ISSUER_ATTR untuk dwFindType. CERT_UNICODE_IS_RDN_ATTRS_FLAG harus diatur jika struktur CERT_RDN_ATTR yang diacu oleh pvFindPara diinisialisasi dengan string Unicode. Sebelum perbandingan dibuat, string yang akan dicocokkan dikonversi dengan menggunakan X509_UNICODE_NAME untuk menyediakan perbandingan Unicode.
Nilai dwFindFlags berikut hanya digunakan dengan nilai CERT_FIND_ENKEY_USAGE untuk dwFindType.
Nilai | Makna |
---|---|
CERT_FIND_OR_ENHKEY_USAGE_FLAG | Kriteria pencarian dapat diubah dengan mengatur satu atau beberapa bendera. Secara default, jika anggota pszUsageIdentifier dari struktur CERT_ENHKEY_USAGE yang diarahkan oleh pvFindPara harus dicocokkan, setiap pengidentifikasi harus dicocokkan untuk memenuhi kriteria pencarian. Namun, jika CERT_FIND_OR_ENHKEY_USAGE_FLAG diatur, kecocokan dapat dilakukan untuk semua pengidentifikasi yang digabungkan dengan menggunakan operasi bitwise-OR; dengan demikian, mencocokkan salah satu pengidentifikasi sudah cukup. |
CERT_FIND_OPTIONAL_ENHKEY_USAGE_FLAG | Ketika bendera ini diatur, selain kecocokan biasa, sertifikat apa pun yang tidak memiliki ekstensi penggunaan kunci yang ditingkatkan atau properti penggunaan kunci yang ditingkatkan memenuhi kriteria pencarian. |
CERT_FIND_NO_ENHKEY_USAGE_FLAG | Ketika bendera ini diatur, hanya sertifikat yang tidak memiliki penggunaan kunci yang ditingkatkan atau properti penggunaan kunci yang ditingkatkan yang cocok. Pengaturan bendera ini lebih diutamakan daripada pvFindPara menjadi NULL. |
CERT_FIND_VALID_ENHKEY_USAGE_FLAG | Ketika bendera ini diatur, fungsi hanya cocok dengan sertifikat yang valid untuk penggunaan yang ditentukan. Secara default, agar cocok, sertifikat harus valid untuk semua penggunaan.
CERT_FIND_OR_ENHKEY_USAGE_FLAG juga dapat diatur jika sertifikat hanya perlu valid untuk salah satu penggunaan yang ditentukan. Perhatikan bahwa CertGetValidUsages dipanggil untuk mendapatkan daftar penggunaan yang valid untuk sertifikat. Hanya CERT_FIND_OR_ENHKEY_USAGE_FLAG yang juga dapat berlaku saat CERT_FIND_VALID_ENHKEY_USAGE_FLAG diatur. |
CERT_FIND_EXT_ONLY_ENHKEY_USAGE_FLAG | Ketika bendera ini diatur, proses pencocokan hanya melibatkan pengidentifikasi penggunaan ekstensi. Jika pvFindPara adalah NULL atau anggota cUsageIdentifier dari struktur CERT_ENHKEY_USAGE yang ditunjukkan oleh pvFindPara adalah nol, sertifikat apa pun yang memiliki ekstensi penggunaan kunci yang ditingkatkan adalah kecocokan. Jika CERT_FIND_OPTIONAL_ENHKEY_USAGE_FLAG juga diatur, sertifikat apa pun tanpa ekstensi penggunaan kunci yang ditingkatkan juga cocok. Jika CERT_FIND_NO_ENHKEY_USAGE_FLAG juga diatur, hanya sertifikat tanpa ekstensi penggunaan kunci yang ditingkatkan yang cocok. |
CERT_FIND_EXT_PROP_ENHKEY_USAGE_FLAG | Ketika bendera ini diatur, proses pencocokan hanya melibatkan pengidentifikasi penggunaan yang merupakan properti. Jika pvFindPara adalah NULL atau cUsageIdentifier diatur ke nol, sertifikat apa pun yang memiliki properti penggunaan kunci yang ditingkatkan adalah kecocokan. Jika CERT_FIND_OPTIONAL_ENHKEY_USAGE_FLAG juga diatur, sertifikat apa pun tanpa properti penggunaan kunci yang ditingkatkan juga cocok. Jika CERT_FIND_NO_ENHKEY_USAGE_FLAG diatur, hanya sertifikat tanpa properti penggunaan kunci yang ditingkatkan yang cocok. |
CERT_CASE_INSENSITIVE_IS_RDN_ATTRS_FLAG | Hanya digunakan dengan nilai CERT_FIND_SUBJECT_ATTR dan CERT_FIND_ISSUER-ATTR dwFindType. Secara default, pencocokan persis peka huruf besar/kecil dibuat. Jika bendera ini diatur, kecocokan tidak peka huruf besar/kecil. |
Persyaratan
Klien minimum yang didukung | Windows XP [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2003 [hanya aplikasi desktop] |
Header | wincrypt.h |