Bagikan melalui


Metode IX509CertificateRequestPkcs10V2::InitializeFromPublicKeyTemplate (certenroll.h)

Metode InitializeFromPublicKeyTemplate menginisialisasi permintaan sertifikat yang ditandatangani null dengan menggunakan objek IX509PublicKey dan templat.

Sintaks

HRESULT InitializeFromPublicKeyTemplate(
  [in] X509CertificateEnrollmentContext Context,
  [in] IX509PublicKey                   *pPublicKey,
  [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.

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] pPublicKey

Arahkan ke antarmuka IX509PublicKey yang mewakili kunci umum.

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

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

Mengembalikan kode/nilai Deskripsi
E_POINTER
Parameter pPublicKey, pPolicyServer, atau pTemplate adalah NULL.
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)
Objek permintaan sertifikat telah diinisialisasi.

Keterangan

Metode InitializeFromPublicKeyTemplate melakukan tindakan berikut:

  • Menambahkan ekstensi yang ditentukan dalam templat, jika ada, ke koleksi IX509Extensions .
  • Membuat koleksi CriticalExtensions 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 akan dihapus dari koleksi. OID yang ditandai penting oleh templat, jika ada, ditambahkan.
  • Mengatur properti SmimeCapabilities jika templat mendukung algoritma simetris.
  • Mengatur properti AlternateSignatureAlgorithm jika templat memerlukan OID algoritma tanda tangan diskrit.
  • Membuat objek IX509SignatureInformation .
  • Membuat OID algoritma hash jika algoritma ditentukan dalam templat dan mengaturnya pada objek IX509SignatureInformation .
  • Membuat OID algoritma enkripsi asimetris jika algoritma ditentukan dalam templat dan mengaturnya pada objek IX509SignatureInformation .

Jika properti CSPInformations tidak ditentukan, metode membuat koleksi ICspInformations dari penyedia yang diinstal di komputer.

Metode ini tidak membuat kunci privat. Penggunaan metode ini menyiratkan bahwa permintaan ditandatangani null. Oleh karena itu, metode mengatur properti NullSigned pada objek IX509SignatureInformation .

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

IX509CertificateRequestPkcs10V2