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
CERT_ACCESS_STATE_PROP_ID
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.

CERT_ARCHIVED_PROP_ID
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.

CERT_AUTO_ENROLL_PROP_ID
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.

CERT_CTL_USAGE_PROP_ID
Jenis data untuk pvData: penunjuk ke array BYTE

Mengembalikan array byte yang berisi struktur CTL_USAGE yang dikodekan Abstract Syntax Notation One (ASN.1).

CERT_DESCRIPTION_PROP_ID
Jenis data untuk pvData: penunjuk ke array BYTE

Mengembalikan properti yang ditampilkan oleh antarmuka pengguna sertifikat. Properti ini memungkinkan pengguna untuk menjelaskan penggunaan sertifikat.

CERT_ENHKEY_USAGE_PROP_ID
Jenis data untuk pvData: penunjuk ke array BYTE

Mengembalikan array byte yang berisi struktur CERT_ENHKEY_USAGE yang dikodekan ASN.1.

CERT_FRIENDLY_NAME_PROP_ID
Jenis data untuk pvData: penunjuk ke array BYTE

Mengembalikan string karakter Unicode yang dihentikan null yang berisi nama tampilan untuk CTL.

CERT_HASH_PROP_ID
Jenis data untuk pvData: penunjuk ke array BYTE

Mengembalikan hash SHA1. Jika hash tidak ada, hash dihitung menggunakan CryptHashCertificate.

CERT_KEY_CONTEXT_PROP_ID
Jenis data untuk pvData: penunjuk ke CERT_KEY_CONTEXT

Mengembalikan struktur CERT_KEY_CONTEXT .

CERT_KEY_IDENTIFIER_PROP_ID
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.

CERT_KEY_PROV_HANDLE_PROP_ID
Jenis data untuk pvData: pointer ke HCRYPTPROV

Mengembalikan handel penyedia yang diperoleh dari CERT_KEY_CONTEXT_PROP_ID.

CERT_KEY_PROV_INFO_PROP_ID
Jenis data untuk pvData: penunjuk ke struktur CRYPT_KEY_PROV_INFO

Mengembalikan pointer ke CRYPT_KEY_PROV_INFO.

CERT_KEY_SPEC_PROP_ID
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.

CERT_MD5_HASH_PROP_ID
Jenis data untuk pvData: penunjuk ke array BYTE

Mengembalikan hash MD5. Jika hash tidak ada, hash dihitung menggunakan CryptHashCertificate.

CERT_NEXT_UPDATE_LOCATION_PROP_ID
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.

CERT_PVK_FILE_PROP_ID
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.

CERT_SHA1_HASH_PROP_ID
Jenis data untuk pvData: penunjuk ke array BYTE

Mengembalikan hash SHA1. Jika hash tidak ada, hash dihitung menggunakan CryptHashCertificate.

CERT_SIGNATURE_HASH_PROP_ID
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.

Catatan Saat memproses data yang dikembalikan dalam buffer, aplikasi harus menggunakan ukuran aktual data yang dikembalikan. Ukuran aktual bisa sedikit lebih kecil dari ukuran buffer yang ditentukan pada input. (Pada input, ukuran buffer biasanya ditentukan cukup besar untuk memastikan bahwa data output terbesar yang mungkin cocok dalam buffer.) Pada output, variabel yang diacu oleh parameter ini diperbarui untuk mencerminkan ukuran aktual data yang disalin ke 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
CRYPT_E_NOT_FOUND
CTL tidak memiliki properti yang ditentukan.
ERROR_MORE_DATA
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

Lihat juga

CertEnumCTLContextProperties

CertGetCertificateContextProperty

CertSetCTLContextProperty

CryptHashCertificate

Fungsi Properti yang Diperluas