Fungsi CryptVerifyCertificateSignature (wincrypt.h)

Fungsi CryptVerifyCertificateSignature memverifikasi tanda tangan sertifikat, daftar pencabutan sertifikat (CRL), atau permintaan sertifikat dengan menggunakan kunci umum dalam struktur CERT_PUBLIC_KEY_INFO . Fungsi ini tidak memerlukan akses ke kunci privat.

Sintaks

BOOL CryptVerifyCertificateSignature(
  [in] HCRYPTPROV_LEGACY     hCryptProv,
  [in] DWORD                 dwCertEncodingType,
  [in] const BYTE            *pbEncoded,
  [in] DWORD                 cbEncoded,
  [in] PCERT_PUBLIC_KEY_INFO pPublicKey
);

Parameter

[in] hCryptProv

Parameter ini tidak digunakan dan harus diatur ke NULL.

Windows Server 2003 dan Windows XP: Handel ke penyedia layanan kriptografi (CSP) yang digunakan untuk memverifikasi tanda tangan. Jenis data parameter ini adalah HCRYPTPROV.

NULL diteruskan kecuali ada alasan kuat untuk melewati penyedia kriptografi tertentu. Meneruskan NULL menyebabkan penyedia RSA atau DSS default diperoleh.

[in] dwCertEncodingType

Jenis pengodean sertifikat yang digunakan untuk mengenkripsi subjek. Pengidentifikasi jenis pengodean pesan, yang terkandung dalam WORD tinggi dari nilai ini, diabaikan oleh fungsi ini.

Parameter ini dapat menjadi jenis pengodean sertifikat yang saat ini ditentukan berikut.

Nilai Makna
X509_ASN_ENCODING
1 (0x1)
Menentukan pengodean sertifikat X.509 .

[in] pbEncoded

Penunjuk ke BLOB yang dikodekan dari konten CERT_SIGNED_CONTENT_INFO tempat tanda tangan akan diverifikasi.

[in] cbEncoded

Ukuran, dalam byte, dari konten yang dikodekan dalam pbEncoded.

[in] pPublicKey

Penunjuk ke struktur CERT_PUBLIC_KEY_INFO yang berisi kunci umum untuk digunakan saat memverifikasi tanda tangan.

Nilai kembali

Mengembalikan bukan nol jika berhasil atau nol sebaliknya.

Untuk informasi kesalahan yang diperluas, hubungi GetLastError.

Catatan Kesalahan dari fungsi yang disebut CryptCreateHash, CryptImportKey, CryptVerifySignature, dan CryptHashData dapat disebarluaskan ke fungsi ini.
 
Jika gagal, fungsi ini akan menyebabkan kode kesalahan berikut dikembalikan dari GetLastError.
Menampilkan kode Deskripsi
ERROR_FILE_NOT_FOUND
Tipe pengodean sertifikat tidak valid. Saat ini hanya X509_ASN_ENCODING yang didukung.
NTE_BAD_ALGID
Pengidentifikasi objek algoritma tanda tangan (OID) tidak memetakan ke algoritma hash yang diketahui atau didukung.
NTE_BAD_SIGNATURE
Tanda tangan tidak valid.
 

Jika fungsi gagal, GetLastError dapat mengembalikan kesalahan pengodean/pendekodean Abstract Syntax Notation One (ASN.1). Untuk informasi tentang kesalahan ini, lihat Nilai Pengembalian Pengodean/Pendekodean ASN.1.

Keterangan

Fungsi ini saat ini memanggil fungsi CryptVerifyCertificateSignatureEx untuk melakukan verifikasi.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header wincrypt.h
Pustaka Crypt32.lib
DLL Crypt32.dll

Lihat juga

CryptVerifyCertificateSignatureEx