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 |