IX509CertificateRequestPkcs10::InitializeFromCertificate method (certenroll.h)
Metode InitializeFromCertificate menginisialisasi permintaan sertifikat dengan menggunakan sertifikat yang ada. Sertifikat terkandung dalam array byte yang dikodekan dengan menggunakan Distinguished Encoding Rules (DER) sebagaimana didefinisikan oleh standar Abstract Syntax Notation One (ASN.1). Array byte yang dikodekan DER diwakili oleh string yang merupakan urutan biner murni atau dikodekan Unicode.
Sintaks
HRESULT InitializeFromCertificate(
[in] X509CertificateEnrollmentContext Context,
[in] BSTR strCertificate,
[in] EncodingType Encoding,
[in] X509RequestInheritOptions InheritOptions
);
Parameter
[in] Context
Nilai enumerasi X509CertificateEnrollmentContext yang menentukan apakah sertifikat yang diminta ditujukan untuk pengguna akhir, komputer, atau administrator yang bertindak atas nama komputer.
[in] strCertificate
Variabel BSTR yang berisi sertifikat yang dikodekan DER.
Dimulai dengan Windows 7 dan Windows Server 2008 R2, Anda dapat menentukan cetak jempol sertifikat atau nomor seri daripada sertifikat yang dikodekan. Melakukannya menyebabkan fungsi mencari penyimpanan lokal yang sesuai untuk sertifikat yang cocok. Perlu diingat poin-poin berikut:
- BSTR harus berupa jumlah digit heksadesimal yang merata.
- Spasi putih antara pasangan heksadesimal diabaikan.
- Parameter Pengodean harus diatur ke XCN_CRYPT_STRING_HEXRAW.
- Parameter Konteks menentukan apakah pengguna atau penyimpanan komputer atau keduanya dicari.
- Jika kunci privat diperlukan, hanya penyimpanan pribadi dan permintaan yang dicari.
- Jika kunci privat tidak diperlukan, penyimpanan OS akar dan menengah juga dicari.
[in] Encoding
Nilai enumerasi EncodingType yang menentukan jenis pengodean Unicode yang diterapkan ke sertifikat yang dikodekan DER. Nilai defaultnya adalah XCN_CRYPT_STRING_BASE64.
[in] InheritOptions
Nilai enumerasi X509RequestInheritOptions yang menentukan cara membuat objek permintaan sertifikat dari sertifikat yang ada. Anda dapat menentukan cara mewarisi kunci dengan memilih salah satu nilai berikut. Nilai defaultnya adalah InheritDefault.
Anda juga dapat menggunakan operasi bitwise-OR untuk menggabungkan nilai pewarisan kunci dengan kombinasi nilai berikut.
Nilai | Makna |
---|---|
|
Mewarisi sertifikat perpanjangan. Menentukan bendera ini mengatur properti RenewalCertificate . |
|
Mewarisi templat sertifikat. |
|
Mewarisi nama yang dibedakan subjek. |
|
Mewarisi ekstensi yang relevan dari sertifikat. |
|
Mewarisi ekstensi SubjectAlternativeName . |
|
Mewarisi periode validitas. |
Anda juga dapat menentukan InheritNone untuk mencegah salah satu bendera dalam tabel sebelumnya (bendera yang tidak terkait dengan pewarisan kunci) diimplementasikan secara default. Jika Anda menentukan InheritNone tetapi juga menentukan bendera yang tidak terkait dengan pewarisan kunci, metode mengembalikan E_INVALIDARG.
Jika Anda mengatur parameter InheritOptions ke nol (0) atau menentukan InheritDefault dan tidak menentukan nilai pewarisan kunci, InheritNewSimilarKey digunakan secara default.
Jika Anda mengatur parameter InheritOptions ke nol (0) atau menentukan InheritDefault dan tidak menentukan nilai apa pun yang tidak terkait dengan pewarisan kunci, bendera berikut diatur secara default:
- InheritSubjectFlag
- InheritExtensionsFlag
- InheritValidityPeriodFlag
- InheritTemplateFlag (jika sertifikat berisi ekstensi templat)
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 |
---|---|
|
Objek permintaan sertifikat telah diinisialisasi. |
Keterangan
Metode InitializeFromCertificate memvalidasi opsi yang ditentukan dalam parameter InheritOptions dan menginisialisasi objek permintaan PKCS #10 baru dengan melakukan tindakan berikut:
- Menyalin sertifikat perpanjangan, jika ada dan Anda telah menentukan InheritRenewalCertificateFlag, dari sertifikat input ke permintaan baru.
- Menyalin templat jika templat ditentukan dalam sertifikat yang ada dan Anda mengatur nilai InheritTemplateFlag .
- Menyalin nama khusus subjek ke permintaan baru jika Anda menentukan InheritSubjectFlag.
- Menyalin nama alternatif subjek ke permintaan baru jika Anda menentukan InheritSubjectAltNameFlag.
- Salin ekstensi ke permintaan baru jika Anda menentukan InheritExtensionsFlag.
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 |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk