Bagikan melalui


Fungsi NCryptVerifySignature (ncrypt.h)

Fungsi NCryptVerifySignature memverifikasi bahwa tanda tangan yang ditentukan cocok dengan hash yang ditentukan.

Sintaks

SECURITY_STATUS NCryptVerifySignature(
  [in]           NCRYPT_KEY_HANDLE hKey,
  [in, optional] VOID              *pPaddingInfo,
  [in]           PBYTE             pbHashValue,
  [in]           DWORD             cbHashValue,
  [in]           PBYTE             pbSignature,
  [in]           DWORD             cbSignature,
  [in]           DWORD             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 NCryptSignHash .

[in, optional] pPaddingInfo

Penunjuk ke struktur yang berisi informasi padding. Jenis struktur aktual yang dituju parameter ini tergantung pada nilai parameter dwFlags . Parameter ini hanya digunakan dengan kunci asimetris dan harus NULL jika tidak.

[in] pbHashValue

Alamat buffer yang berisi hash data. Parameter cbHash berisi ukuran buffer ini.

[in] cbHashValue

Ukuran, dalam byte, dari buffer pbHash .

[in] pbSignature

Alamat buffer yang berisi hash data yang ditandatangani. Fungsi NCryptSignHash digunakan untuk membuat tanda tangan. Parameter cbSignature berisi ukuran buffer ini.

[in] cbSignature

Ukuran, dalam byte, dari penyangga pbSignature . Fungsi NCryptSignHash digunakan untuk membuat tanda tangan.

[in] dwFlags

Bendera yang mengubah perilaku fungsi. Set bendera yang diizinkan tergantung pada jenis kunci yang ditentukan oleh parameter hKey .

Jika kuncinya adalah kunci konten, parameter ini tidak digunakan dan harus nol.

Jika kuncinya adalah kunci asimetris, ini bisa menjadi salah satu nilai berikut.

Nilai Makna
NCRYPT_PAD_PKCS1_FLAG
Skema padding PKCS1 digunakan saat tanda tangan dibuat. Parameter pPaddingInfo adalah penunjuk ke struktur BCRYPT_PKCS1_PADDING_INFO .
NCRYPT_PAD_PSS_FLAG
Skema padding Skema Tanda Tangan Probabilistik (PSS) digunakan saat tanda tangan dibuat. Parameter pPaddingInfo adalah penunjuk ke struktur BCRYPT_PSS_PADDING_INFO .
NCRYPT_SILENT_FLAG
Meminta agar penyedia layanan utama (KSP) tidak menampilkan antarmuka pengguna apa pun. Jika penyedia harus menampilkan UI untuk beroperasi, panggilan gagal dan KSP harus mengatur kode kesalahan NTE_SILENT_CONTEXT sebagai kesalahan terakhir.

Nilai kembali

Mengembalikan kode status yang menunjukkan keberhasilan atau kegagalan fungsi.

Kemungkinan kode pengembalian termasuk, tetapi tidak terbatas pada, berikut ini.

Menampilkan kode Deskripsi
ERROR_SUCCESS
Fungsi berhasil.
NTE_BAD_SIGNATURE
Tanda tangan tidak diverifikasi.
NTE_INVALID_HANDLE
Parameter hKey tidak valid.
NTE_NO_MEMORY
Terjadi kegagalan alokasi memori.
NTE_NOT_SUPPORTED
Penyedia algoritma yang digunakan untuk membuat handel kunci yang ditentukan oleh parameter hKey bukanlah algoritma penandatanganan.

Keterangan

Layanan tidak boleh memanggil fungsi ini dari Fungsi StartService-nya. Jika layanan memanggil fungsi ini dari fungsi StartService-nya, kebuntuan dapat terjadi, dan layanan mungkin berhenti merespons.

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 ncrypt.h
Pustaka Ncrypt.lib
DLL Ncrypt.dll

Lihat juga

NCryptSignHash