Fungsi BCryptVerifySignature (bcrypt.h)
Fungsi BCryptVerifySignature memverifikasi bahwa tanda tangan yang ditentukan cocok dengan hash yang ditentukan.
Sintaks
NTSTATUS BCryptVerifySignature(
[in] BCRYPT_KEY_HANDLE hKey,
[in, optional] VOID *pPaddingInfo,
[in] PUCHAR pbHash,
[in] ULONG cbHash,
[in] PUCHAR pbSignature,
[in] ULONG cbSignature,
[in] ULONG dwFlags
);
Parameter
[in] hKey
Handel kunci yang digunakan untuk mendekripsi tanda tangan. Ini harus berupa kunci yang identik atau bagian kunci publik dari pasangan kunci yang digunakan untuk menandatangani data dengan fungsi BCryptSignHash .
[in, optional] pPaddingInfo
Penunjuk ke struktur yang berisi informasi padding. Jenis struktur aktual yang menunjuk parameter ini tergantung pada nilai parameter dwFlags . Parameter ini hanya digunakan dengan kunci asimetris dan harus NULL sebaliknya.
[in] pbHash
Alamat buffer yang berisi hash data. Parameter cbHash berisi ukuran buffer ini.
[in] cbHash
Ukuran, dalam byte, dari buffer pbHash .
[in] pbSignature
Alamat buffer yang berisi hash data yang ditandatangani. Fungsi BCryptSignHash digunakan untuk membuat tanda tangan. Parameter cbSignature berisi ukuran buffer ini.
[in] cbSignature
Ukuran, dalam byte, dari penyangga pbSignature . Fungsi BCryptSignHash digunakan untuk membuat tanda tangan.
[in] dwFlags
Sekumpulan bendera yang mengubah perilaku fungsi ini. Kumpulan bendera yang diizinkan tergantung pada jenis kunci yang ditentukan oleh parameter hKey .
Jika kuncinya adalah kunci simetris, parameter ini tidak digunakan dan harus nol.
Jika kuncinya adalah kunci asimetris, ini bisa menjadi salah satu nilai berikut.
Nilai | Makna |
---|---|
|
Skema padding PKCS1 digunakan saat tanda tangan dibuat. Parameter pPaddingInfo adalah penunjuk ke struktur BCRYPT_PKCS1_PADDING_INFO . |
|
Skema padding Probabilistic Signature Scheme (PSS) digunakan saat tanda tangan dibuat. Parameter pPaddingInfo adalah penunjuk ke struktur BCRYPT_PSS_PADDING_INFO . |
Nilai kembali
Mengembalikan kode status yang menunjukkan keberhasilan atau kegagalan fungsi.
Kemungkinan kode pengembalian termasuk, tetapi tidak terbatas pada, berikut ini.
Menampilkan kode | Deskripsi |
---|---|
|
Fungsi berhasil. |
|
Tanda tangan tidak diverifikasi. |
|
Terjadi kegagalan alokasi memori. |
|
Salah satu parameter yang disediakan tidak valid. |
|
Handel kunci yang ditentukan oleh parameter hKey tidak valid. |
|
Penyedia algoritma yang digunakan untuk membuat handel kunci yang ditentukan oleh parameter hKey bukanlah algoritma penandatanganan. |
Keterangan
Fungsi ini menghitung tanda tangan dengan kunci yang disediakan lalu membandingkan nilai tanda tangan terhitung dengan nilai tanda tangan yang ditentukan.
Untuk menggunakan fungsi ini, Anda harus hash data dengan menggunakan algoritma hash yang sama yang digunakan untuk membuat nilai hash yang ditandatangani. Jika berlaku, Anda juga harus menentukan skema padding yang sama yang ditentukan saat tanda tangan dibuat.
Tergantung pada mode prosesor apa yang didukung penyedia, BCryptVerifySignature dapat dipanggil baik dari mode pengguna atau mode kernel. Pemanggil mode kernel dapat mengeksekusi baik di PASSIVE_LEVEL IRQL atau DISPATCH_LEVEL IRQL. Jika tingkat IRQL saat ini DISPATCH_LEVEL, handel yang disediakan dalam parameter hKey harus berasal dari handel algoritma yang dikembalikan oleh penyedia yang dibuka dengan menggunakan bendera BCRYPT_PROV_DISPATCH , dan setiap penunjuk yang diteruskan ke fungsi BCryptVerifySignature harus mengacu pada memori yang tidak di-patahkan (atau terkunci).
Untuk memanggil fungsi ini dalam mode kernel, gunakan Cng.lib, yang merupakan bagian dari Driver Development Kit (DDK). Windows Server 2008 dan Windows Vista: Untuk memanggil fungsi ini dalam mode kernel, gunakan Ksecdd.lib.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Vista [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2008 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | bcrypt.h |
Pustaka | Bcrypt.lib |
DLL | Bcrypt.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