Bagikan melalui


Metode ICEnroll::createFilePKCS10 (xenroll.h)

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

Metode createFilePKCS10 membuat permintaan sertifikat #10 PKCS yang dikodekan base64 dan menyimpannya dalam file. Metode ini pertama kali didefinisikan dalam antarmuka ICEnroll .

Metode ini berbeda dari metode createPKCS10 hanya dalam menyimpan permintaan sertifikat PKCS #10 yang dikodekan base64 (dalam bentuk BSTR ) ke file yang ditentukan oleh parameter wszPKCS10FileName .

Sintaks

HRESULT createFilePKCS10(
  [in] BSTR DNName,
  [in] BSTR Usage,
  [in] BSTR wszPKCS10FileName
);

Parameter

[in] DNName

Nama khusus (DN) entitas tempat permintaan dibuat. DNName harus mengikuti konvensi penamaan X.500 . Misalnya "CN=User, O=Microsoft". Jika awalan dua huruf tidak ada, pengidentifikasi objek (OID) dapat disediakan sebagai gantinya.

[in] Usage

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.

OID diteruskan ke permintaan PKCS #10. Kontrol tidak memeriksa OID.

[in] wszPKCS10FileName

Nama file tempat PKCS #10 yang dikodekan base64 (dalam bentuk BSTR ) disimpan. Isi file ini dapat dikirimkan ke otoritas sertifikasi untuk diproses.

Nilai kembali

VB

Nilai yang dikembalikan adalah HRESULT. Nilai S_OK menunjukkan keberhasilan.

Jika metode gagal, nilai yang dikembalikan adalah HRESULT yang menunjukkan kesalahan. Untuk daftar kode kesalahan umum, lihat Nilai HRESULT Umum.

Keterangan

Secara default, Penyedia Kriptografi Dasar Microsoft digunakan, dan kunci tanda tangan unik dibuat.

Ketika metode ini dipanggil dari skrip, metode menampilkan antarmuka pengguna yang menanyakan apakah pengguna akan mengizinkan pembuatan permintaan sertifikat dan apakah pengguna akan mengizinkan operasi tulis ke sistem file.

Contoh

BSTR bstrDN = NULL;
BSTR bstrOID = NULL;
BSTR bstrFileName = NULL;
ICEnroll4 * pEnroll = 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 **)&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;
}

// Specify the file name, for example, "myPKCS10.req"
bstrFileName = SysAllocString(TEXT("<FILENAMEHERE>"));
if (NULL == bstrFileName)
{
    printf("Memory allocation failed for bstrFileName.\n");
    goto error;
}

// Create the PKCS10 (stored in a file).
hr = pEnroll->createFilePKCS10( bstrDN, bstrOID, bstrFileName );
if (FAILED(hr))
{
   printf("Failed createFilePKCS10 - %x\n", hr);
   goto error;
}
else
    printf("Successfully created file containing PKCS10\n");

error:
// Clean up resources and so on.

if ( bstrFileName )
    SysFreeString( bstrFileName );

if ( bstrDN )
    SysFreeString( bstrDN );

if ( bstrOID )
    SysFreeString( bstrOID );

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