Fungsi CertGetCTLContextProperty (wincrypt.h)
Fungsi CertGetCTLContextProperty mengambil properti yang diperluas dari konteks daftar kepercayaan sertifikat (CTL).
Sintaks
BOOL CertGetCTLContextProperty(
[in] PCCTL_CONTEXT pCtlContext,
[in] DWORD dwPropId,
[out] void *pvData,
[in, out] DWORD *pcbData
);
Parameter
[in] pCtlContext
Penunjuk ke struktur CTL_CONTEXT .
[in] dwPropId
Mengidentifikasi properti yang akan diambil. Pengidentifikasi yang ditentukan saat ini dan jenis data yang akan dikembalikan dalam pvData tercantum dalam tabel berikut.
Nilai | Makna |
---|---|
|
Jenis data untuk pvData: penunjuk ke DWORD
Mengembalikan nilai DWORD yang menunjukkan apakah operasi tulis ke sertifikat dipertahankan. Nilai DWORD tidak diatur jika sertifikat berada di penyimpanan memori atau di penyimpanan berbasis registri yang dibuka sebagai baca-saja. |
|
Jenis data untuk pvData: NULL
Menunjukkan sertifikat dilewati selama enumerasi. Sertifikat dengan set properti ini ditemukan dengan operasi pencarian eksplisit, seperti yang digunakan untuk menemukan sertifikat dengan hash tertentu atau nomor seri. Tidak ada data dalam pvData yang terkait dengan properti ini. |
|
Jenis data untuk pvData: penunjuk ke array BYTE Mengembalikan string Unicode yang dihentikan null yang memberi nama jenis sertifikat yang sertifikatnya telah didaftarkan secara otomatis. |
|
Jenis data untuk pvData: penunjuk ke array BYTE Mengembalikan array byte yang berisi struktur CTL_USAGE yang dikodekan Abstract Syntax Notation One (ASN.1). |
|
Jenis data untuk pvData: penunjuk ke array BYTE Mengembalikan properti yang ditampilkan oleh antarmuka pengguna sertifikat. Properti ini memungkinkan pengguna untuk menjelaskan penggunaan sertifikat. |
|
Jenis data untuk pvData: penunjuk ke array BYTE Mengembalikan array byte yang berisi struktur CERT_ENHKEY_USAGE yang dikodekan ASN.1. |
|
Jenis data untuk pvData: penunjuk ke array BYTE Mengembalikan string karakter Unicode yang dihentikan null yang berisi nama tampilan untuk CTL. |
|
Jenis data untuk pvData: penunjuk ke array BYTE Mengembalikan hash SHA1. Jika hash tidak ada, hash dihitung menggunakan CryptHashCertificate. |
|
Jenis data untuk pvData: penunjuk ke CERT_KEY_CONTEXT
Mengembalikan struktur CERT_KEY_CONTEXT . |
|
Jenis data untuk pvData: penunjuk ke array BYTE Jika tidak ada, cari ekstensi szOID_SUBJECT_KEY_IDENTIFIER. Jika gagal, hash SHA1 dilakukan pada anggota SubjectPublicKeyInfo sertifikat untuk menghasilkan nilai pengidentifikasi. |
|
Jenis data untuk pvData: pointer ke HCRYPTPROV
Mengembalikan handel penyedia yang diperoleh dari CERT_KEY_CONTEXT_PROP_ID. |
|
Jenis data untuk pvData: penunjuk ke struktur CRYPT_KEY_PROV_INFO Mengembalikan pointer ke CRYPT_KEY_PROV_INFO. |
|
Jenis data untuk pvData: penunjuk ke DWORD
Mengembalikan nilai DWORD yang menentukan kunci privat yang diperoleh dari properti CERT_KEY_CONTEXT_PROP_ID jika ada. Jika tidak, jika CERT_KEY_PROV_INFO_PROP_ID ada, itu adalah sumber dwKeySpec. |
|
Jenis data untuk pvData: penunjuk ke array BYTE Mengembalikan hash MD5. Jika hash tidak ada, hash dihitung menggunakan CryptHashCertificate. |
|
Jenis data untuk pvData: penunjuk ke array BYTE Mengembalikan struktur CERT_ALT_NAME_INFO yang dikodekan ASN.1. CERT_NEXT_UPDATE_LOCATION_PROP_ID saat ini hanya digunakan dengan CTL. |
|
Jenis data untuk pvData: penunjuk ke array BYTE Mengembalikan Unicode yang dihentikan null, string karakter lebar yang menentukan nama file yang berisi kunci privat yang terkait dengan kunci umum sertifikat. |
|
Jenis data untuk pvData: penunjuk ke array BYTE Mengembalikan hash SHA1. Jika hash tidak ada, hash dihitung menggunakan CryptHashCertificate. |
|
Jenis data untuk pvData: penunjuk ke array BYTE Mengembalikan hash tanda tangan. Jika hash tidak ada, hash dihitung dengan CryptHashToBeSigned. Panjang hash adalah 20 byte untuk SHA dan 16 untuk MD5. |
Untuk semua pengidentifikasi properti lainnya, pvData menunjuk ke array byte dan bukan CRYPT_DATA_BLOB seperti yang ditujukkan oleh parameter pvData di CertSetCertificateContextProperty.
Untuk informasi selengkapnya tentang setiap pengidentifikasi properti, lihat dokumentasi tentang parameter dwPropId di CertSetCertificateContextProperty. CERT_SHA1_HASH_PROP_ID dan CERT_NEXT_UPDATE_LOCATION_PROP_ID adalah properti yang paling diminati sebelumnya.
[out] pvData
Penunjuk ke buffer untuk menerima data seperti yang ditentukan oleh dwPropId. Struktur yang ditujukkan oleh anggota struktur yang dikembalikan juga dikembalikan mengikuti struktur dasar. Oleh karena itu, ukuran yang terkandung dalam pcbData sering melebihi ukuran struktur dasar.
Parameter ini bisa NULL untuk mengatur ukuran informasi untuk tujuan alokasi memori. Untuk informasi selengkapnya, lihat Mengambil Data Dengan Panjang Tidak Diketahui.
[in, out] pcbData
Penunjuk ke nilai DWORD yang menentukan ukuran, dalam byte, dari buffer yang diacu oleh parameter pvData . Saat fungsi kembali, nilai DWORD berisi jumlah byte yang akan disimpan dalam buffer.
Nilai kembali
Jika fungsi berhasil, nilai yang dikembalikan adalah TRUE.
Jika fungsi gagal, nilai yang dikembalikan adalah FALSE.
Kesalahan dari fungsi yang disebut, CryptHashCertificate, dapat disebarluaskan ke fungsi ini. Untuk informasi kesalahan yang diperluas, hubungi GetLastError.
Beberapa kemungkinan kode kesalahan mengikuti.
Menampilkan kode | Deskripsi |
---|---|
|
CTL tidak memiliki properti yang ditentukan. |
|
Jika buffer yang ditentukan oleh parameter pvData tidak cukup besar untuk menyimpan data yang dikembalikan, fungsi mengatur kode ERROR_MORE_DATA dan menyimpan ukuran buffer yang diperlukan, dalam byte, dalam variabel yang ditunjukkan oleh pcbData. |
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 |