Metode ICertAdmin::SetRequestAttributes (certadm.h)
Metode SetRequestAttributes menetapkan atribut dalam permintaan sertifikat yang tertunda yang ditentukan. Metode ini pertama kali didefinisikan dalam antarmuka ICertAdmin .
Agar metode ini berhasil, permintaan sertifikat harus tertunda.
Sintaks
HRESULT SetRequestAttributes(
[in] const BSTR strConfig,
[in] LONG RequestId,
[in] const BSTR strAttributes
);
Parameter
[in] strConfig
Mewakili string konfigurasi yang valid untuk server otoritas sertifikasi (CA) dalam bentuk COMPUTERNAME\CANAME, di mana COMPUTERNAME adalah nama jaringan server Layanan Sertifikat dan CANAME adalah nama umum otoritas sertifikasi, seperti yang dimasukkan selama penyiapan Layanan Sertifikat. Untuk informasi tentang nama string konfigurasi, lihat ICertConfig.
[in] RequestId
Menentukan ID permintaan yang menerima atribut.
[in] strAttributes
Menentukan data atribut. Setiap atribut adalah pasangan string nilai nama. Karakter titik dua memisahkan nama dan nilai, dan karakter baris baru memisahkan beberapa pasangan nama-nilai, misalnya:
C++ | AttributeName1:AttributeValue1\nAttributeName2:AttributeValue2 |
VB | AttributeName1:AttributeValue1 & vbNewLine & AttributeName2:AttributeValue2 |
Saat Layanan Sertifikat menguraikan nama atribut, Layanan Sertifikat mengabaikan spasi, tanda hubung (tanda minus), dan huruf besar/kecil. Misalnya, AttributeName1, Attribute Name1, dan Attribute-name1 semuanya setara. Untuk nilai atribut, Layanan Sertifikat mengabaikan spasi kosong di awal dan akhir.
Menampilkan nilai
VB
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.
Keterangan
Atribut yang ditambahkan atau diperbarui dengan memanggil SetRequestAttributes tidak mengubah string atribut awal yang tidak dipisahkan yang terkait dengan permintaan sertifikat. String atribut yang tidak diparsing permintaan sertifikat tidak dapat diubah setelah sertifikat diminta (metode ICertRequest::Submit memungkinkan atribut ditentukan pada saat sertifikat diminta).
Anda dapat menggunakan snap-in MMC Otoritas Sertifikasi untuk menampilkan string atribut permintaan awal yang tidak dipisahkan.
Saat Anda melihat atribut yang diurai, Anda juga akan melihat perubahan apa pun karena panggilan ke SetRequestAttributes.
Untuk melihat atribut yang diurai
- Buka snap-in MMC Otoritas Sertifikasi.
- Buka folder Permintaan Tertunda .
- Klik kanan permintaan, arahkan ke Semua Tugas, lalu klik Tampilkan Atribut/Ekstensi.
Tugas administrasi menggunakan DCOM. Kode yang memanggil metode antarmuka ini seperti yang didefinisikan dalam versi Certadm.h sebelumnya akan berjalan pada server berbasis Windows selama klien dan server keduanya menjalankan sistem operasi Windows yang sama.
Contoh
BSTR bstrAttribs = NULL;
BSTR bstrCA = NULL;
long nReqID; // request ID
// Specify the attributes.
// For example, "AttName1:AttValue1\nAttName2:AttValue2".
bstrAttribs = SysAllocString(L"<ATTRIBUTESHERE>");
if (NULL == bstrAttribs)
{
printf("Memory allocation failed for bstrAttribs.\n");
goto error;
}
bstrCA = SysAllocString(L"<COMPUTERNAMEHERE>\\<CANAMEHERE>");
if (NULL == bstrCA)
{
printf("Memory allocation failed for bstrCA.\n");
goto error;
}
// Request ID to receive the attributes.
nReqID = <REQUESTIDHERE>;
// Add these attributes to the certificate.
// pCertAdmin is a previously instantiated
// ICertAdmin object pointer.
hr = pCertAdmin->SetRequestAttributes( bstrCA,
nReqID,
bstrAttribs );
if (FAILED(hr))
printf("Failed SetRequestAttributes [%x]\n", hr);
else
printf("SetRequestAttributes succeeded\n");
// Done processing.
error:
if (bstrAttribs)
SysFreeString(bstrAttribs);
if (bstrCA)
SysFreeString(bstrCA);
// Free other resources.
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 | certadm.h (termasuk Certsrv.h) |
Pustaka | Certidl.lib |
DLL | Certadm.dll |