Fungsi CertVerifySubjectCertificateContext (wincrypt.h)

Fungsi CertVerifySubjectCertificateContext melakukan pemeriksaan verifikasi yang diaktifkan pada sertifikat dengan memeriksa validitas penerbit sertifikat. Fungsi Verifikasi Rantai Sertifikat baru direkomendasikan alih-alih fungsi ini.

Sintaks

BOOL CertVerifySubjectCertificateContext(
  [in]           PCCERT_CONTEXT pSubject,
  [in, optional] PCCERT_CONTEXT pIssuer,
  [in, out]      DWORD          *pdwFlags
);

Parameter

[in] pSubject

Penunjuk ke struktur CERT_CONTEXT yang berisi sertifikat subjek.

[in, optional] pIssuer

Penunjuk ke CERT_CONTEXT yang berisi sertifikat penerbit. Saat memeriksa hanya CERT_STORE_TIME_VALIDITY_FLAG, pIssuer bisa NULL.

[in, out] pdwFlags

Penunjuk ke nilai DWORD berisi bendera pemeriksaan verifikasi. Bendera berikut dapat diatur untuk mengaktifkan pemeriksaan verifikasi pada sertifikat subjek. Mereka dapat digabungkan menggunakan operasi bitwise-OR untuk mengaktifkan beberapa verifikasi.

Nilai Makna
CERT_STORE_REVOCATION_FLAG
Memeriksa apakah sertifikat subjek ada dalam daftar pencabutan penerbit.
CERT_STORE_SIGNATURE_FLAG
Menggunakan kunci umum dalam sertifikat penerbit untuk memverifikasi tanda tangan pada sertifikat subjek.
CERT_STORE_TIME_VALIDITY_FLAG
Mendapatkan waktu saat ini dan memverifikasi bahwa waktu tersebut berada dalam periode validitas sertifikat subjek.
 

Jika pemeriksaan verifikasi yang diaktifkan berhasil, benderanya diatur ke nol. Jika gagal, maka benderanya diatur saat kembali.

Jika CERT_STORE_REVOCATION_FLAG diaktifkan dan penerbit tidak memiliki CRL di penyimpanan, CERT_STORE_NO_CRL_FLAG diatur selain CERT_STORE_REVOCATION_FLAG.

Nilai kembali

Jika fungsi berhasil, nilai yang dikembalikan adalah TRUE.

Jika fungsi gagal, nilai yang dikembalikan adalah FALSE.

Untuk kegagalan pemeriksaan verifikasi, TRUE masih dikembalikan. FALSE dikembalikan hanya ketika parameter buruk diteruskan.

Untuk informasi kesalahan yang diperluas, hubungi GetLastError. Salah satu kemungkinan kode kesalahan adalah sebagai berikut.

Menampilkan kode Deskripsi
E_INVALIDARG
Bit yang tidak didukung diatur dalam pdwFlags. Kombinasi CERT_STORE_SIGNATURE_FLAG, CERT_STORE_TIME_VALIDITY_FLAG, dan CERT_STORE_REVOCATION_FLAG dapat diatur. Jika pIssuerNULL, hanya CERT_STORE_TIME_VALIDITY_FLAG yang dapat diatur.

Keterangan

Nilai heksadesimal bendera dapat digabungkan menggunakan operasi bitwise-OR untuk mengaktifkan beberapa verifikasi. Misalnya, untuk mengaktifkan validitas tanda tangan dan waktu, nilai

CERT_STORE_SIGNATURE_FLAG | CERT_STORE_TIME_VALIDITY_FLAG

ditempatkan dalam nilai DWORDpdwFlags sebagai parameter input. Jika verifikasi CERT_STORE_SIGNATURE_FLAG berhasil, tetapi verifikasi CERT_STORE_TIME_VALIDITY_FLAG gagal, pdwFlags diatur ke CERT_STORE_TIME_VALIDITY_FLAG saat fungsi kembali.

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

Lihat juga

CERT_CONTEXT

CertGetIssuerCertificateFromStore

Fungsi Sertifikat