Metode ICEnroll::createPKCS10 (xenroll.h)

[Metode ini tidak lagi tersedia untuk digunakan pada Windows Server 2008 dan Windows Vista.]

Metode createPKCS10 membuat permintaan sertifikat #10 PKCS yang dikodekan base64. Metode ini pertama kali didefinisikan dalam antarmuka ICEnroll .

Permintaan sertifikat PKCS #10 yang dikodekan base64 ini (dalam bentuk BSTR ) dapat dikirimkan ke otoritas sertifikasi untuk meminta agar sertifikat dikeluarkan kepada orang atau entitas yang informasinya dikandungnya.

Sintaks

HRESULT createPKCS10(
  [in] BSTR DNName,
  [in] BSTR Usage,
  [in] BSTR *pPKCS10
);

Parameter

[in] DNName

Nama khusus (DN) entitas tempat permintaan dibuat. Dalam parameter ini, 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 Individu atau Komersial, atau Autentikasi Klien. Anda juga dapat menentukan beberapa OID yang dipisahkan oleh koma.

OID diteruskan ke permintaan PKCS #10. Untuk ekstensibilitas umum dan kemudahan pemahaman, kontrol tidak mencoba memahami OID tujuan tertentu. Oleh karena itu, jika Anda menentukan OID Autentikasi Klien, kunci yang dihasilkan masih akan menjadi kunci tanda tangan, bukan kunci pertukaran.

[in] pPKCS10

Permintaan sertifikat PKCS10 yang dikodekan base64 yang dikembalikan.

Mengembalikan nilai

C++

Nilai yang dikembalikan adalah HRESULT. Nilai S_OK menunjukkan keberhasilan. Setelah berhasil menyelesaikan fungsi ini, pPKCS10 akan berisi permintaan PKCS #10 yang dikodekan base64 (dalam bentuk BSTR ). Formatnya sedih sehingga dapat langsung diposting ke server web untuk diproses.

VB

Permintaan sertifikat PKCS10 yang dikodekan base64 yang dikembalikan.

Keterangan

Secara default, Penyedia Kriptografi Dasar Microsoft digunakan, PROV_RSA_FULL adalah jenis penyedia, kunci tanda tangan dibuat, dan set kunci baru yang unik dibuat.

Ketika metode ini dipanggil dari skrip, metode menampilkan antarmuka pengguna yang menanyakan apakah pengguna akan mengizinkan pembuatan permintaan sertifikat.

Contoh

BSTR bstrDN = NULL;
BSTR bstrReq = NULL;
BSTR bstrOID = NULL;
ICEnroll4 * pEnroll = NULL;
HRESULT hr;

// initialize COM
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 **)&pEnroll);
if (FAILED(hr))
{
    printf("Failed CoCreateInstance - pEnroll [%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
if (NULL == bstrDN)
{
    printf("Memory allocation failed for bstrDN.\n");
    goto error;
}

// generate the OID, for example, "1.3.6.1.4.1.311.2.1.21".
bstrOID = SysAllocString(TEXT("<OIDHERE>"));
if (NULL == bstrOID)
{
    printf("Memory allocation failed for bstrOID.\n");
    goto error;
}

// create the PKCS10
hr = pEnroll->createPKCS10( bstrDN, bstrOID, &bstrReq );
if (FAILED(hr))
{
    printf("Failed createPKCS10 - %x\n", hr);
    goto error;
}
else
    // do something with the PKCS10 (bstrReq);

error:

//clean up resources, and so on
if ( bstrDN )
    SysFreeString( bstrDN );
if ( bstrOID )
    SysFreeString( bstrOID );
if ( bstrReq )
    SysFreeString( bstrReq );
if ( pEnroll )
    pEnroll->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