Metode ICertConfig::GetConfig (certcli.h)
Metode GetConfig mengambil string konfigurasi untuk server Layanan Sertifikat . Metode ini pertama kali didefinisikan dalam antarmuka ICertConfig .
String konfigurasi adalah nama server dan nama otoritas sertifikasi 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 otoritas sertifikasi untuk digunakan. Parameter ini bisa menjadi salah satu nilai berikut.
[out] pstrOut
Pointer ke BSTR yang berisi konfigurasi. Setelah Anda selesai menggunakan konfigurasi, panggil fungsi SysFreeString untuk membebaskan pbstrOut.
Menampilkan nilai
C++
Jika metode berhasil, metode 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 string yang berisi konfigurasi.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 ! 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 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.
Nama | Karakter | Nilai dalam format !xxxx |
---|---|---|
Ampersand | & | !0026 |
Apostrof | ' | !0027 |
Asterisk | * | !002a |
Garis miring terbalik | \ | !005c |
Kurung kurawal kiri | { | !007b |
Kurung kurawal kanan | } | !007d |
Kurung siku kiri | [ | !005b |
Kurung siku kanan | ] | !005d |
Tanda Kurus | ^ | !005e |
Titik dua | : | !003a |
Koma | , | !002c |
Tanda sama dengan | = | !003d |
Tanda seru | ! | !0021 |
Aksen makam | ` | !0060 |
Lebih besar dari tanda | > | !003e |
Kurang dari tanda | < | !003c |
Tanda nomor | # | !0023 |
Membuka tanda kurung | ( | !0028 |
Kurung tutup | ) | !0029 |
Persen | % | !0025 |
Pipa | | | !007c |
Tanda plus | + | !002b |
Tanda tanya | ? | !003f |
Tanda kutip | " | !0022 |
Titik Koma | ; | !003b |
Tanda garis miring | / | !002f |
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 sanitasi yang dipotong dan ditambahkan dengan hash dengan nama lengkap yang dibersihkan. Nama pendek yang dibersihkan mencadangkan beberapa dari 64 karakter untuk berisi akhiran daftar pencabutan sertifikat (CRL), seperti (123).
Bagian nama otoritas sertifikasi dari string konfigurasi yang dikembalikan oleh metode ini adalah teks asli yang dimasukkan selama penyiapan. Perhatikan bahwa metode Layanan Sertifikat yang memerlukan nama otoritas sertifikasi sebagai parameter menerima nama otoritas sertifikasi yang awalnya dimasukkan. Misalnya, untuk nama # otoritas sertifikasi YourName,
Metode ICertView2::OpenConnection menerima #YourName sebagai bagian otoritas sertifikasi parameter.
Contoh
Contoh berikut menunjukkan cara menggunakan metode ini untuk mengambil string konfigurasi otoritas sertifikasi default.
ICertConfig2 * pConfig = NULL;
BSTR bstrConfig = NULL; //Contains CA configuration name
HRESULT hr;
hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
if (FAILED(hr))
{
printf("Failed CoInitializeEx - [%x]\n", hr);
goto error;
}
// Create an instance of the CertConfig object.
hr = CoCreateInstance( CLSID_CCertConfig,
NULL,
CLSCTX_INPROC_SERVER,
IID_ICertConfig2,
(void **)&pConfig);
if (FAILED(hr))
{
printf("Failed CoCreateInstance - pConfig [%x]\n", hr);
goto error;
}
// Retrieve the default CA configuration string.
hr = pConfig->GetConfig(CC_DEFAULTCONFIG, &bstrConfig);
if (FAILED(hr))
{
printf("Failed GetConfig - [%x]\n", hr);
goto error;
}
else
printf("GetConfig returned: %ws\n", bstrConfig );
error:
// Done processing.
if (pConfig)
pConfig->Release();
if (bstrConfig)
SysFreeString(bstrConfig);
CoUninitialize();
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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk