Bagikan melalui


Metode IX509CertificateRequestCmc2::InitializeFromTemplate (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 jenis 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.

Nilai Makna
ContextUser
Sertifikat sedang diminta untuk pengguna akhir.
ContextMachine
Sertifikat sedang diminta untuk komputer.
ContextAdministratorForceMachine
Sertifikat sedang diminta oleh administrator yang bertindak atas nama komputer.

[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.

Menampilkan kode Deskripsi
E_POINTER
Parameter pPolicyServer dan pTemplate tidak boleh NULL.
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)
Objek permintaan sertifikat telah diinisialisasi.

Keterangan

Metode InitializeFromTemplate 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.

Persyaratan

Persyaratan Nilai
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

Lihat juga

IX509CertificateRequestCmc2