Fungsi CertCreateContext (wincrypt.h)
Fungsi CertCreateContext membuat konteks yang ditentukan dari byte yang dikodekan. Konteks yang dibuat tidak menyertakan properti yang diperluas.
Sintaks
const void * CertCreateContext(
[in] DWORD dwContextType,
[in] DWORD dwEncodingType,
[in] const BYTE *pbEncoded,
[in] DWORD cbEncoded,
[in] DWORD dwFlags,
[in, optional] PCERT_CREATE_CONTEXT_PARA pCreatePara
);
Parameter
[in] dwContextType
Menentukan konteks yang dapat dibuat. Misalnya, untuk membuat kontekssertifikat, atur dwContextType ke CERT_STORE_CERTIFICATE_CONTEXT.
Bendera jenis konteks yang saat ini ditentukan diperlihatkan dalam tabel berikut.
Nilai | Makna |
---|---|
|
Konteks sertifikat. |
|
Konteks CRL. |
|
Konteks CTL. |
[in] dwEncodingType
Menentukan jenis pengodean yang digunakan. Saat ini, hanya X509_ASN_ENCODING dan PKCS_7_ASN_ENCODING yang digunakan; namun, jenis pengodean tambahan dapat ditambahkan di masa mendatang. Untuk salah satu jenis pengodean saat ini, gunakan:
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING.
[in] pbEncoded
Penunjuk ke buffer yang berisi konten konteks yang dikodekan yang ada untuk disalin.
[in] cbEncoded
Ukuran, dalam byte, dari buffer pbEncoded .
[in] dwFlags
Nilai bendera berikut ditentukan dan dapat digabungkan dengan menggunakan operasi bitwise-OR.
Nilai | Makna |
---|---|
|
Konteks yang dibuat menunjuk langsung ke konten yang diacu oleh pbEncoded alih-alih salinan yang dialokasikan. |
|
Fungsi ini membuat konteks dengan entri yang diurutkan. Saat ini, bendera ini hanya berlaku untuk konteks CTL.
Untuk CCL, anggota cCTLEntry dari struktur CTL_INFO yang dikembalikan selalu nol. CertFindSubjectInSortedCTL dan CertEnumSubjectInSortedCTL harus dipanggil untuk menemukan atau menghitung entri CTL. |
|
Secara default, saat konteks CTL dibuat, handel HCRYTPMSG ke pesan SignedData-nya dibuat. Bendera ini dapat diatur untuk meningkatkan performa dengan tidak membuat handel ini. Bendera ini hanya dapat digunakan ketika dwContextType CERT_STORE_CTL_CONTEXT. |
|
Secara default, ketika konteks CTL dibuat, entrinya didekodekan. Ketika bendera ini diatur, entri tidak didekodekan dan performa ditingkatkan. Bendera ini hanya dapat digunakan ketika dwContextType CERT_STORE_CTL_CONTEXT. |
[in, optional] pCreatePara
Penunjuk ke struktur CERT_CREATE_CONTEXT_PARA .
Jika pCreatePara dan anggota pfnFree keduanya non-NULL, anggota pfnFree digunakan untuk membebaskan memori yang ditentukan oleh anggota pvFree . Jika anggota pvFree adalah NULL, anggota pfnFree digunakan untuk membebaskan pointer pbEncoded .
Jika pCreatePara atau anggota pfnFree-nyaadalah NULL, tidak ada upaya yang dilakukan untuk membebaskan pbEncoded.
Nilai kembali
Jika fungsi berhasil, nilai yang dikembalikan adalah penunjuk ke konteks yang baru dibuat. Anggota pvFree dari pCreatePara harus dipanggil untuk membebaskan konteks yang dibuat.
Jika fungsi gagal, nilai yang dikembalikan adalah NULL. Untuk informasi kesalahan yang diperluas, hubungi GetLastError.
Jika GetLastError mengembalikan ERROR_CANCELLED, ini berarti bahwa fungsi panggilan balik PFN_CERT_CREATE_CONTEXT_SORT_FUNC mengembalikan FALSE untuk menghentikan pengurutan.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows XP [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2003 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | wincrypt.h |
Pustaka | Crypt32.lib |
DLL | Crypt32.dll |