Metode ICEnroll4::createRequest (xenroll.h)
[Metode ini tidak lagi tersedia untuk digunakan pada Windows Server 2008 dan Windows Vista.]
Metode createRequest membuat permintaan sertifikat format PKCS #10, PKCS #7, atau Manajemen Sertifikat penuh melalui CMS (CMC) dan menyimpannya dalam string. Metode ini pertama kali didefinisikan dalam antarmuka ICEnroll4 .
Sintaks
HRESULT createRequest(
[in] LONG Flags,
[in] BSTR strDNName,
[in] BSTR Usage,
[out] BSTR *pstrRequest
);
Parameter
[in] Flags
Nilai yang menentukan jenis permintaan sertifikat yang akan dibuat. Ini bisa menjadi salah satu nilai berikut.
Nilai | Makna |
---|---|
|
CMC Penuh |
|
PKCS 10 |
|
PKCS 10 versi 2 |
|
PKCS 7 |
[in] strDNName
Parameter ini bisa NULL; jika tidak, parameter ini menentukan nama khusus (DN) entitas tempat permintaan dibuat. Nama DN harus mengikuti konvensi penamaan X.500 , misalnya "CN=User, O=Microsoft". Jika awalan dua huruf tidak ada, OID dapat disediakan sebagai gantinya.
[in] Usage
Pengidentifikasi objek (OID) yang menjelaskan tujuan sertifikat yang dihasilkan, misalnya, sertifikat Authenticode individual atau komersial, atau autentikasi klien. Anda juga dapat menentukan beberapa OID yang dipisahkan oleh koma.
[out] pstrRequest
Penunjuk ke BSTR (format BASE64_HEADER) yang menerima permintaan. Setelah Anda selesai menggunakan BSTR, bebaskan dengan memanggil fungsi SysFreeString .
Mengembalikan 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 (format BASE64_HEADER) yang berisi permintaan.Keterangan
Ketika metode ini dipanggil dari skrip, metode menampilkan antarmuka pengguna yang menanyakan apakah pengguna akan mengizinkan pembuatan permintaan sertifikat. Jika file .pvk atau .spc ditentukan, metode menampilkan antarmuka pengguna yang menanyakan apakah pengguna akan mengizinkan operasi tulis ke sistem file.
Contoh
BSTR bstrDN = NULL;
BSTR bstrReq = NULL;
ICEnroll4 * pEnroll4 = NULL;
HRESULT hr;
hr = CoInitializeEx( NULL, COINIT_APARTMENTTHREADED );
if (FAILED(hr))
{
printf("Failed CoInitializeEx - %x\n", hr);
goto error;
}
hr = CoCreateInstance( __uuidof(CEnroll),
NULL,
CLSCTX_INPROC_SERVER,
__uuidof(ICEnroll4),
(void **)&pEnroll4);
if (FAILED(hr))
{
printf("Failed CoCreateInstance - pEnroll4 [%x]\n", hr);
goto error;
}
// generate the DN for the cert request
bstrDN = SysAllocString( TEXT("CN=Your Name") // common name
TEXT(",OU=Your Unit") // org unit
TEXT(",O=Your Org") // organization
TEXT(",L=Your City") // locality
TEXT(",S=Your State") // state
TEXT(",C=Your Country") ); // country/region
// create the CMC request
hr = pEnroll4->createRequest( XECR_CMC,
bstrDN,
NULL,
&bstrReq );
if (FAILED(hr))
{
printf("Failed createRequest - pEnroll4 [%x]\n", hr);
goto error;
}
else
// do something with the CMC (bstrReq);
error:
//clean up resources, and so on
if ( bstrDN )
SysFreeString( bstrDN );
if ( bstrReq )
SysFreeString( bstrReq );
if ( pEnroll4 )
pEnroll4->Release();
CoUninitialize();
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows XP [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2003 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | xenroll.h |
Pustaka | Uuid.lib |
DLL | Xenroll.dll |
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