IX509CertificateRequestPkcs7V2::InitializeFromTemplate method (certenroll.h)
Metode InitializeFromTemplate menginisialisasi permintaan sertifikat dengan menggunakan templat.
Sintaks
HRESULT InitializeFromTemplate(
[in] X509CertificateEnrollmentContext context,
[in] IX509EnrollmentPolicyServer *pPolicyServer,
[in] IX509CertificateTemplate *pTemplate
);
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.
[in] pPolicyServer
Penunjuk ke objek IX509EnrollmentPolicyServer yang mewakili server kebijakan pendaftaran sertifikat (CEP) yang berisi templat yang ditentukan oleh parameter pTemplate .
[in] pTemplate
Penunjuk ke objek IX509CertificateTemplate yang mewakili templat yang akan digunakan selama inisialisasi.
Nilai kembali
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.
Mengembalikan kode/nilai | Deskripsi |
---|---|
|
Parameter pTemplate tidak boleh NULL. |
|
Objek permintaan sertifikat telah diinisialisasi. |
Keterangan
Metode InitializeFromTemplate membuat objek permintaan PKCS #7 dan mengatur properti berikut ke nilai yang ada sebelum metode ini dipanggil:
Metode ini membuat koleksi berikut:- Koleksi ICryptAttributes .
- Koleksi IX509Extensions .
- Koleksi IObjectIds diisi dengan pengidentifikasi objek XCN_OID_KEY_USAGE dan XCN_OID_BASIC_CONSTRAINTS2 default.
- Koleksi IObjectIds kosong untuk OID atribut dan ekstensi yang akan ditekan dari permintaan baru.
Metode ini kemudian memeriksa templat dan melakukan tindakan berikut:
- Menambahkan ekstensi yang ditentukan oleh templat ke koleksi IX509Extensions .
- Menghapus ekstensi penting default (XCN_OID_KEY_USAGE dan XCN_OID_BASIC_CONSTRAINTS2) dari koleksi jika templat menunjukkan bahwa ekstensi tersebut tidak penting. 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 .
- Membuat algoritma enkripsi asimetris OID jika algoritma ditentukan dalam templat dan mengaturnya pada objek IX509SignatureInformation .
- Mengisi banyak properti IX509PrivateKey dari pengaturan templat.
Jika properti CSPInformations adalah NULL, metode membuat koleksi ICspInformations dari penyedia yang diinstal di komputer.
Terakhir, metode menetapkan permintaan PKCS #10 yang diinisialisasi sebagai objek permintaan dalam.
Persyaratan
Klien minimum yang didukung | Windows 7 [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2008 R2 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | certenroll.h |