Bagikan melalui


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
XECR_CMC
CMC Penuh
XECR_PKCS10_V1_5
PKCS 10
XECR_PKCS10_V2_0
PKCS 10 versi 2
XECR_PKCS7
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