Metode ICertServerExit::GetCertificateProperty (certif.h)
Metode GetCertificateProperty mengembalikan properti bernama dari sertifikat.
Sintaks
HRESULT GetCertificateProperty(
[in] const BSTR strPropertyName,
[in] LONG PropertyType,
[out] VARIANT *pvarPropertyValue
);
Parameter
[in] strPropertyName
Menentukan properti bernama untuk diambil. Ada sekumpulan properti sertifikat stok, yang disebut sebagai properti nama, yang selalu valid dan dapat diambil dengan memanggil metode ini. Untuk informasi tentang properti ini, lihat Properti Nama. Properti lain yang dapat diambil termasuk properti sertifikat.
Properti berikut ini unik untuk sertifikat dan dapat dibaca oleh GetCertificateProperty.
Nilai | Makna |
---|---|
|
Tanggal validitas mulai sertifikat |
|
Tanggal kedaluwarsa sertifikat |
|
Pengidentifikasi objek algoritma kunci subjek (OID) |
|
Byte sertifikat mentah |
|
Kunci subjek |
|
Parameter algoritma kunci subjek |
|
ID permintaan internal |
|
Nomor seri sertifikat |
Properti DistinguishedName, RawName, dan SerialNumber sertifikat dapat diakses oleh GetCertificateProperty hanya setelah modul kebijakan selesai memproses permintaan dan sertifikat dikeluarkan.
Properti berikut berlaku untuk otoritas sertifikasi. Konteksnya harus nol untuk membaca salah satu properti ini. Konteks diatur ke nol ketika objek ICertServerExit awalnya dibuat. Ini juga dapat diatur ke nol dengan memanggil metode SetContext .
Nilai | Makna |
---|---|
|
Jenis otoritas sertifikasi. Ini bisa menjadi salah satu nilai berikut (didefinisikan dalam Certsrv.h): ENUM_ENTERPRISE_ROOTCA ENUM_ENTERPRISE_SUBCA ENUM_STANDALONE_ROOTCA ENUM_STANDALONE_SUBCA |
|
Jumlah sertifikat CA. Nilai ini akan menjadi satu ditambah berapa kali CA telah diperbarui. Untuk informasi tentang perpanjangan, lihat Perpanjangan Otoritas Sertifikasi. |
|
Status sertifikat CA. Ini bisa menjadi salah satu nilai berikut:
|
|
Akhiran untuk sertifikat CA. Akhiran adalah string kosong untuk sertifikat CA dengan indeks nol; jika tidak, akhiran (dalam bentuk "(nn)", di mana nn adalah indeks sertifikat) diterapkan ke semua URL yang menunjuk ke sertifikat CA yang disimpan dalam file atau objek layanan direktori. Untuk URL non-LDAP , akhiran biasanya muncul sebelum teks ".crt". Untuk URL LDAP, akhiran biasanya ditambahkan ke 'CN=' pertama dalam nama khusus lengkap.
Nama properti ini dapat ditambahkan dengan '.#', di mana # mewakili indeks sertifikat CA (atau, dalam kasus properti CRLSuffix, indeks CRL). Untuk informasi tentang sertifikat dan indeks CRL, lihat Perpanjangan Otoritas Sertifikasi. |
|
Indeks daftar pencabutan sertifikat (CRL). Menambahkan indeks sertifikat ke nama properti ini memungkinkan Anda untuk mengambil indeks CRL. Indeks CRL tidak selalu cocok dengan indeks sertifikat. Untuk informasi selengkapnya, lihat Sertifikasi.
Nama properti ini dapat ditambahkan dengan '.#', di mana # mewakili indeks sertifikat CA (atau, dalam kasus properti CRLSuffix, indeks CRL). Untuk informasi tentang sertifikat dan indeks CRL, lihat Perpanjangan Otoritas Sertifikasi. |
|
Status CRL. Ini bisa menjadi salah satu nilai berikut:
|
|
Akhiran untuk CA CRL. Akhiran adalah string kosong untuk CRL dengan indeks nol; jika tidak, akhiran (dalam bentuk "(nn)", di mana nn adalah indeks CRL) diterapkan ke semua URL yang menunjuk ke CRL yang disimpan dalam file atau objek layanan direktori. Untuk URL non-LDAP, akhiran biasanya muncul sebelum teks ".crl". Untuk URL LDAP, akhiran biasanya ditambahkan ke 'CN=' pertama dalam nama khusus lengkap.
Nama properti ini dapat ditambahkan dengan '.#', di mana # mewakili indeks sertifikat CA (atau, dalam kasus properti CRLSuffix, indeks CRL). Untuk informasi tentang sertifikat dan indeks CRL, lihat Perpanjangan Otoritas Sertifikasi. |
|
Menunjukkan apakah CA menggunakan layanan direktori. Ini bisa menjadi salah satu nilai berikut:
|
|
Nama DNS server yang menghosting CA. |
|
Lokasi registri tersedia untuk digunakan oleh modul. |
|
Sertifikat CA.
Nama properti ini dapat ditambahkan dengan '.#', di mana # mewakili indeks sertifikat CA (atau, dalam kasus properti CRLSuffix, indeks CRL). Untuk informasi tentang sertifikat dan indeks CRL, lihat Perpanjangan Otoritas Sertifikasi. |
|
Daftar pencabutan sertifikat (CRL) CA.
Nama properti ini dapat ditambahkan dengan '.#', di mana # mewakili indeks sertifikat CA (atau, dalam kasus properti CRLSuffix, indeks CRL). Untuk informasi tentang sertifikat dan indeks CRL, lihat Perpanjangan Otoritas Sertifikasi. |
|
Menunjukkan apakah pemohon berwenang untuk meminta sertifikat. Ini bisa menjadi salah satu nilai berikut:
|
|
Nama sanitasi untuk CA. Untuk informasi tentang nama CA yang dibersamakan, lihat ICertConfig::GetConfig. |
|
Nama yang dibersihkan untuk CA, dipersingkat dan berisi nilai hash untuk memastikan keunikan. |
[in] PropertyType
Menentukan jenis properti. Jenisnya bisa menjadi salah satu dari berikut ini.
Nilai | Makna |
---|---|
|
Data panjang yang ditandatangani |
|
Tanggal/Waktu |
|
Data biner |
|
Data untai (karakter) Unicode |
[out] pvarPropertyValue
Penunjuk ke VARIAN yang akan berisi nilai properti. Nilai yang dikembalikan dikodekan sebagai BSTR. Gunakan fungsi SysStringByteLen untuk mengambil panjang BSTR. BLOB biner disimpan sebagai sertifikat X.509 yang dikodekan Distinguished Encoding Rules.
Mengembalikan nilai
C++
Jika metode berhasil, metode akan mengembalikan S_OK.Jika metode gagal, metode mengembalikan nilai HRESULT yang menunjukkan kesalahan. Untuk daftar kode kesalahan umum, lihat Nilai HRESULT Umum.
VB
Nilai yang dikembalikan adalah nilai properti yang diminta.Keterangan
Anda harus memanggil ICertServerExit::SetContext sebelum menggunakan metode ini.
Contoh
BSTR bstrPropName = NULL;
VARIANT varProp;
VariantInit(&varProp);
// Set the property name to RequestID.
bstrPropName = SysAllocString(L"RequestID");
// Retrieve the certificate property.
// pCertServerExit has been used to call SetContext previously.
hr = pCertServerExit->GetCertificateProperty(bstrPropName,
PROPTYPE_LONG,
&varProp );
if (FAILED(hr))
{
printf("Failed GetCertificateProperty [%x]\n", hr);
goto error;
}
else
{
// Successfully retrieved property; use varProp as needed.
// ...
}
// Done processing.
if (NULL != bstrPropName)
SysFreeString(bstrPropName);
VariantClear(&varProp);
Persyaratan
Klien minimum yang didukung | Tidak ada yang didukung |
Server minimum yang didukung | Windows Server 2003 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | certif.h (termasuk Certsrv.h) |
Pustaka | Certidl.lib |
DLL | Certcli.dll |