Metode IX509CertificateRequestPkcs10::InitializeFromPrivateKey (certenroll.h)
Metode InitializeFromPrivateKey menginisialisasi permintaan sertifikat dengan menggunakan objek IX509PrivateKey dan, secara opsional, templat. Metode ini diaktifkan web.
Sintaks
HRESULT InitializeFromPrivateKey(
[in] X509CertificateEnrollmentContext Context,
[in] IX509PrivateKey *pPrivateKey,
[in, optional] BSTR strTemplateName
);
Parameter
[in] Context
Nilai enumerasi X509CertificateEnrollmentContext yang menentukan apakah sertifikat yang diminta ditujukan untuk pengguna akhir, komputer, atau administrator yang bertindak atas nama komputer. Ini bisa menjadi salah satu nilai berikut. Namun, jika properti MachineContext dari kunci privat diatur, Anda harus menentukan nilai enumerasi ContextMachine .
[in] pPrivateKey
Penunjuk ke antarmuka IX509PrivateKey yang mewakili kunci privat.
[in, optional] strTemplateName
Variabel BSTR yang berisi Nama Umum (CN) templat seperti yang muncul di Direktori Aktif atau pengidentifikasi objek desimal putus-putus. Ini adalah parameter opsional.
Mengembalikan nilai
Jika fungsi berhasil, fungsi akan mengembalikan S_OK.
Jika fungsi gagal, fungsi mengembalikan nilai HRESULT yang menunjukkan kesalahan. Nilai yang mungkin termasuk, tetapi tidak terbatas pada, yang ada dalam tabel berikut. Untuk daftar kode kesalahan umum, lihat Nilai HRESULT Umum.
Menampilkan kode | Deskripsi |
---|---|
|
Objek permintaan sertifikat telah diinisialisasi. |
Keterangan
Jika Anda menentukan templat, metode InitializeFromPrivateKey melakukan tindakan berikut:
- Menambahkan ekstensi yang ditentukan oleh templat ke koleksi IX509Extensions .
- Membuat koleksi IObjectIds dan mengisinya dengan pengidentifikasi objek XCN_OID_KEY_USAGE dan XCN_OID_BASIC_CONSTRAINTS2 default. Jika templat menunjukkan bahwa OID ini tidak penting, templat tersebut dihapus dari koleksi. OID yang ditandai penting oleh templat ditambahkan.
- Mengatur properti SmimeCapabilities jika templat mendukung algoritma simetris.
- Mengatur properti AlternateSignatureAlgorithm jika templat memerlukan OID algoritma tanda tangan diskrit.
- Membuat objek IX509SignatureInformation .
- Membuat algoritma hash OID jika algoritma ditentukan dalam templat dan mengaturnya pada objek IX509SignatureInformation .
- Mengambil OID algoritma enkripsi asimetris, jika ada, dari templat dan mengaturnya pada objek IX509SignatureInformation .
- Mengisi banyak properti IX509PrivateKey dari pengaturan templat.
Apakah Anda menentukan templat atau tidak, jika properti CSPInformations tidak ditentukan, metode membuat koleksi ICspInformations dari penyedia yang diinstal di komputer.
Tidak ada kunci privat yang dibuat pada saat ini. Jika objek IX509PrivateKey yang diteruskan ke metode tidak mewakili kunci yang ada, kunci dibuat saat metode Encode dipanggil. Kunci akan dibuat dengan menggunakan penyedia default jika tidak ada templat yang ditentukan dan properti ProviderName pada IX509PrivateKey tidak diatur. Ketika ada kunci privat, kunci tersebut diatur pada properti PrivateKey .
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Vista [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2008 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | certenroll.h |
DLL | CertEnroll.dll |