Bagikan melalui


Metode ICertGetConfig::GetConfig (certcli.h)

Metode GetConfig mengambil string konfigurasi untuk server Layanan Sertifikat .

String konfigurasi adalah nama server dan nama otoritas sertifikasi (CA) yang dipisahkan oleh garis miring terbalik (\); misalnya: ServerName\CAName. String konfigurasi ini dapat digunakan untuk merujuk secara tidak ambigu ke server Layanan Sertifikat tertentu. Untuk informasi selengkapnya, lihat Keterangan.

Sintaks

HRESULT GetConfig(
  [in]  LONG Flags,
  [out] BSTR *pstrOut
);

Parameter

[in] Flags

Nilai yang menentukan CA yang akan digunakan. Parameter ini bisa menjadi salah satu nilai berikut.

Nilai Makna
CC_DEFAULTCONFIG
0x00000000
Mengambil CA default.
CC_FIRSTCONFIG
0x00000002
Mengembalikan CA pertama.
CC_LOCALACTIVECONFIG
0x00000004
Mengambil CA lokal jika sedang berjalan.
CC_LOCALCONFIG
0x00000003
Mengambil CA lokal.
CC_UIPICKCONFIG
0x00000001
Menampilkan antarmuka pengguna (UI) yang memungkinkan pengguna memilih CA.
CC_UIPICKCONFIGSKIPLOCALCA
0x00000005
Menampilkan UI yang memungkinkan pengguna memilih CA. UI mengecualikan CA lokal apa pun. Pengecualian ini berguna selama perpanjangan sertifikat OS subordinat ketika permintaan sertifikat OS subordinat dikirimkan ke CA selain CA saat ini.

[out] pstrOut

Pointer ke BSTR yang berisi konfigurasi. Setelah Anda selesai menggunakan konfigurasi, panggil fungsi SysFreeString untuk membebaskan pbstrOut.

Menampilkan nilai

Jika fungsi berhasil, nilai yang dikembalikan adalah S_OK.

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

Keterangan

Bagian nama otoritas sertifikasi (CA) dari string konfigurasi yang dikembalikan fungsi ini adalah teks yang tepat yang dimasukkan selama proses penyiapan Layanan Sertifikat. Perhatikan bahwa teks ini mungkin berbeda dari bentuk nama CA yang ditemukan dalam nama file (seperti untuk daftar pencabutan sertifikat) atau dalam kunci registri. Ini karena nama file dan kunci registri menggunakan versi sanitasi dari nama CA.

Proses sanitasi nama CA diperlukan untuk menghapus karakter yang ilegal untuk nama file, nama kunci registri, atau nilai nama khusus, atau ilegal karena alasan khusus untuk Layanan Sertifikat. Dalam proses sanitasi, setiap karakter ilegal dalam nama umum dikonversi menjadi representasi lima karakter dalam format !xxxx, di mana tanda seru (!) digunakan sebagai karakter escape dan xxxx mewakili empat digit heksadesimal yang secara unik mengidentifikasi karakter yang akan dikonversi.

Misalnya, tanda angka (#) tidak diizinkan dalam nama khusus di layanan direktori Direktori Aktif. Jika nama CA yang dimasukkan selama penyiapan adalah #YourName, nama CA yang dibersihkan akan menjadi !0023YourName.

Karakter berikut, jika dimasukkan untuk nama umum CA selama penyiapan, dikonversi ke !format xxxx selama proses sanitasi. Daftar ini dapat berubah.

Karakter Nilai dalam format !xxxx
< !003c
> !003e
" !0022
/ !002f
\ !005c
: !003a
| !007c
? !003f
* !002a
# !0023
, !002c
+ !002b
; !003b
! !0021
 

Setiap karakter noncetak dan semua karakter Unicode yang bukan tujuh bit juga dikonversi ke !format xxxx.

Nama pendek yang dibersihkan dihasilkan ketika nama yang dibersihkan terlalu panjang untuk layanan direktori 64 karakter dengan nama khusus relatif (RDN). Nama pendek yang dibersihkan terdiri dari nama yang dibersihkan dipotok dan ditambahkan dengan hash nama lengkap yang dibersihkan. Nama pendek yang dibersihkan mencadangkan beberapa dari 64 karakter untuk berisi akhiran daftar pencabutan sertifikat (CRL), seperti (123).

Bagian nama CA dari string konfigurasi yang dikembalikan oleh metode ini adalah teks asli yang dimasukkan selama penyiapan. Perhatikan bahwa metode Layanan Sertifikat yang memerlukan nama CA sebagai parameter menerima nama CA yang awalnya dimasukkan. Misalnya, untuk nama # CA YourName,
Metode ICertView2::OpenConnection menerima #YourName sebagai bagian CA parameter.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tidak ada yang didukung
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header certcli.h (termasuk Certsrv.h)
Pustaka Certidl.lib
DLL Certcli.dll

Lihat juga

ICertConfig2::GetConfig

ICertGetConfig

ICertView2::OpenConnection