Bagikan melalui


Metode ICertServerPolicy::GetCertificateProperty (certif.h)

Metode GetCertificateProperty mengembalikan properti bernama dari sertifikat.

Anda harus memanggil ICertServerPolicy::SetContext sebelum menggunakan metode ini.

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 selain properti nama juga dapat diambil.

Properti DistinguishedName dan RawName sertifikat dapat diakses oleh ICertServerExit::GetCertificateProperty hanya setelah modul kebijakan selesai memproses permintaan dan sertifikat dikeluarkan. Properti DistinguishedName dan RawName sertifikat yang dikeluarkan juga dapat dibaca oleh modul keluar dengan menggunakan ICertServerExit::GetCertificateProperty.

Ada properti sertifikat tambahan yang tidak dapat diakses oleh GetCertificateProperty. Properti ini tidak diatur sampai setelah modul kebijakan mengembalikan VR_INSTANT_OK dan sertifikat dikeluarkan. Untuk daftar lengkap semua properti dalam sertifikat yang dikeluarkan, lihat GetCertificateProperty.

Properti berikut ini unik untuk sertifikat dan dapat dibaca oleh GetCertificateProperty.

Properti sertifikat Makna
RequestID
Ditandatangani panjang
ID permintaan internal
NotBefore
Tanggal/Waktu
Tanggal validitas mulai sertifikat
NotAfter
Tanggal/Waktu
Tanggal kedaluwarsa sertifikat
RawPublicKey
Biner
Kunci subjek
PublicKeyAlgorithm
String
ID objek algoritma kunci subjek (OID)
RawPublicKeyAlgorithmParameters
Biner
Parameter algoritma kunci subjek
GeneralFlags
PROPTYPE_LONG
GeneralFlags dalam permintaan pendaftaran. Ini adalah nilai OR bitwise. Satu-satunya nilai yang menarik adalah nilai bendera 0x00000400, yang memberi tahu CA untuk tidak mempertahankan permintaan dalam database. Jika CA berada dalam mode tanpa database (yaitu, untuk Windows Server 2008 R2 dan CA yang lebih baru, database CA memiliki bendera DBFLAGS_ENABLEVOLATILEREQUESTS diatur), gunakan certutil -getreg DbFlags dan certutil -setreg DBFlags untuk mengonfigurasi CA dalam mode tanpa database.

Windows Vista dan Windows Storage Server 2003: Bidang ini tidak didukung.

RequesterNameFromOldCertificate
PROPTYPE_STRING
Untuk permintaan perpanjangan, mengembalikan nama akun pemohon (misalnya, contoso\requester).
 

Properti berikut berlaku untuk otoritas sertifikasi.

Properti CA Makna
JENIS CA
Long
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
CertCount
Long
Jumlah sertifikat CA. Nilai ini akan menjadi satu ditambah berapa kali CA telah diperbarui. Untuk informasi tentang perpanjangan, lihat Sertifikasi.
CertState
Long
Status sertifikat CA. Ini bisa menjadi salah satu nilai berikut:
  • CA_DISP_ERROR: Sertifikat CA tidak pernah dikeluarkan.
  • CA_DISP_REVOKED: Sertifikat CA telah dicabut.
  • CA_DISP_VALID: Sertifikat CA masih valid.
  • CA_DISP_INVALID: Sertifikat CA telah kedaluwarsa.
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.
CertSuffix
String
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.

CRLIndex
Long
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.

CRLState
Long
Status CRL. Ini bisa menjadi salah satu nilai berikut:
  • CA_DISP_ERROR: CRL dikelola oleh sertifikat CA lain.
  • CA_DISP_REVOKED: Semua sertifikat CA yang tidak kedaluwarsa menggunakan CRL sertifikat CA ini telah dicabut.
  • CA_DISP_VALID: Sertifikat CA masih digunakan untuk menerbitkan CRL sesuai kebutuhan.
  • CA_DISP_INVALID: Semua sertifikat CA yang menggunakan CRL sertifikat CA ini kedaluwarsa.
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.
CRLSuffix
String
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.

fUseDS
Long
Menunjukkan apakah CA menggunakan layanan direktori. Ini bisa berupa salah satu nilai berikut:
  • 0=tidak
  • 1=ya
MachineDNSName
String
Nama DNS server yang menghosting CA.
ModuleRegistryLocation
String
Lokasi registri tersedia untuk digunakan oleh modul.
RawCACertificate
Biner
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.

RawCRL
Biner
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.

RequesterCAAccess
Long
Menunjukkan apakah pemohon berwenang untuk meminta sertifikat. Ini bisa berupa salah satu nilai berikut:
  • 0=tidak
  • 1=ya
(Snap-in MMC Otoritas Sertifikasi dapat digunakan untuk mengontrol izin permintaan sertifikat .)
SanitizedCAName
String
Nama sanitasi untuk CA. Untuk informasi tentang nama CA yang dibersikan, lihat ICertConfig::GetConfig.
SanitizedShortName
String
Nama sanitasi untuk CA, yang dipersingkat dan yang berisi nilai hash untuk memastikan keunikan.

[in] PropertyType

Menentukan jenis properti. Jenisnya bisa menjadi salah satu nilai berikut.

Jenis Makna
PROPTYPE_LONG
Data panjang yang ditandatangani
PROPTYPE_DATE
Tanggal/Waktu
PROPTYPE_BINARY
Data biner
PROPTYPE_STRING
Data untai (karakter) Unicode

[out] pvarPropertyValue

Penunjuk ke VARIAN yang akan berisi nilai properti.

Mengembalikan nilai

Jika metode berhasil, metode mengembalikan S_OK, dan *pvarPropertyValue diatur ke VARIAN yang berisi nilai properti yang diminta.

Jika metode gagal, metode mengembalikan nilai HRESULT yang menunjukkan kesalahan. Untuk daftar kode kesalahan umum, lihat Nilai HRESULT Umum.

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

Lihat juga

ICertServerPolicy

ICertServerPolicy::SetContext

Properti Nama