Bagikan melalui


struktur CERT_CHAIN_PARA (wincrypt.h)

Struktur CERT_CHAIN_PARA menetapkan kriteria pencarian dan pencocokan yang akan digunakan dalam membangun rantai sertifikat.

Sintaks

typedef struct _CERT_CHAIN_PARA {
  DWORD                   cbSize;
  CERT_USAGE_MATCH        RequestedUsage;
  CERT_USAGE_MATCH        RequestedIssuancePolicy;
  DWORD                   dwUrlRetrievalTimeout;
  BOOL                    fCheckRevocationFreshnessTime;
  DWORD                   dwRevocationFreshnessTime;
  LPFILETIME              pftCacheResync;
  PCCERT_STRONG_SIGN_PARA pStrongSignPara;
  DWORD                   dwStrongSignFlags;
} CERT_CHAIN_PARA, *PCERT_CHAIN_PARA;

Anggota

cbSize

Ukuran, dalam byte, dari struktur ini.

RequestedUsage

Struktur yang menunjukkan jenis pencocokan yang diperlukan untuk menemukan sertifikat penerbit untuk membangun rantai sertifikat. Struktur yang ditunjukkan untuk menunjukkan apakah logika AND atau OR akan digunakan dalam proses pencocokan. Struktur ini juga mencakup array OID yang akan dicocokkan.

RequestedIssuancePolicy

Struktur opsional yang menunjukkan jenis pencocokan batasan kebijakan penerbitan yang berlaku saat membangun rantai sertifikat. Struktur yang ditunjukkan untuk menunjukkan apakah logika AND atau OR akan digunakan dalam proses pencocokan. Struktur ini juga mencakup array OID yang akan dicocokkan.

Catatan Anggota ini hanya dapat digunakan jika CERT_CHAIN_PARA_HAS_EXTRA_FIELDS didefinisikan dengan menggunakan direktif #define sebelum menyertakan Wincrypt.h. Jika nilai ini ditentukan, aplikasi harus nol semua bidang yang tidak digunakan.
 

dwUrlRetrievalTimeout

Waktu opsional, dalam milidetik, sebelum waktu pemeriksaan pencabutan habis. Anggota ini bersifat opsional.

Catatan Anggota ini hanya dapat digunakan jika CERT_CHAIN_PARA_HAS_EXTRA_FIELDS didefinisikan dengan menggunakan direktif #define sebelum menyertakan Wincrypt.h. Jika nilai ini ditentukan, aplikasi harus nol semua bidang yang tidak digunakan.
 

fCheckRevocationFreshnessTime

Anggota opsional. Ketika bendera ini TRUE, upaya dilakukan untuk mengambil CRL baru jika pembaruan ini lebih besar dari atau sama dengan waktu sistem saat ini dikurangi nilai dwRevocationFreshnessTime . Jika bendera ini tidak diatur, waktu pembaruan CRL berikutnya akan digunakan.

Catatan Anggota ini hanya dapat digunakan jika CERT_CHAIN_PARA_HAS_EXTRA_FIELDS didefinisikan dengan menggunakan direktif #define sebelum menyertakan Wincrypt.h. Jika nilai ini ditentukan, aplikasi harus nol semua bidang yang tidak digunakan.
 

dwRevocationFreshnessTime

Waktu saat ini, dalam detik, dikurangi waktu pembaruan CRL dari semua elemen yang diperiksa.

Catatan Anggota ini hanya dapat digunakan jika CERT_CHAIN_PARA_HAS_EXTRA_FIELDS didefinisikan dengan menggunakan direktif #define sebelum menyertakan Wincrypt.h. Jika nilai ini ditentukan, aplikasi harus nol semua bidang yang tidak digunakan.
 

pftCacheResync

Anggota opsional. Ketika diatur ke nilai non-NULL , informasi yang di-cache sebelum waktu yang ditentukan dianggap tidak valid dan sinkronisasi ulang cache dilakukan.

Windows Vista: Dukungan untuk anggota ini dimulai.

Catatan Anggota ini hanya dapat digunakan jika CERT_CHAIN_PARA_HAS_EXTRA_FIELDS didefinisikan dengan menggunakan direktif #define sebelum menyertakan Wincrypt.h. Jika nilai ini ditentukan, aplikasi harus nol semua bidang yang tidak digunakan.
 

pStrongSignPara

Opsional. Tentukan penunjuk ke struktur CERT_STRONG_SIGN_PARA untuk mengaktifkan pemeriksaan tanda tangan yang kuat.

Windows 8 dan Windows Server 2012: Dukungan untuk anggota ini dimulai.

Catatan Anggota ini hanya dapat digunakan jika CERT_CHAIN_PARA_HAS_EXTRA_FIELDS didefinisikan dengan menggunakan direktif #define sebelum menyertakan Wincrypt.h. Jika nilai ini ditentukan, aplikasi harus nol semua bidang yang tidak digunakan.
 

dwStrongSignFlags

Bendera opsional yang memodifikasi perilaku pengambilan rantai. Ini bisa nol atau nilai berikut.

Nilai Makna
CERT_CHAIN_STRONG_SIGN_DISABLE_END_CHECK_FLAG
0x00000001
Jika rantai ditandatangani dengan kuat, kunci publik di sertifikat akhir akan diperiksa untuk memverifikasi apakah rantai memenuhi persyaratan panjang kunci publik minimum untuk tanda tangan yang kuat. Anda dapat menentukan CERT_CHAIN_STRONG_SIGN_DISABLE_END_CHECK_FLAG untuk menonaktifkan pemeriksaan default.
 

Windows 8 dan Windows Server 2012: Dukungan untuk properti ini dimulai.

Catatan Anggota ini hanya dapat digunakan jika CERT_CHAIN_PARA_HAS_EXTRA_FIELDS didefinisikan dengan menggunakan direktif #define sebelum menyertakan Wincrypt.h. Jika nilai ini ditentukan, aplikasi harus nol semua bidang yang tidak digunakan.
 

Keterangan

Keterangan berikut berlaku saat memeriksa tanda tangan yang kuat.

  • Atur anggota pStrongSignPara untuk memeriksa tanda tangan yang kuat saat menggunakan fungsi CertGetCertificateChain atau CertSelectCertificateChains .
  • Jika sertifikat tanpa tanda tangan yang kuat ditemukan dalam rantai, kesalahan CERT_TRUST_HAS_WEAK_SIGNATURE dan CERT_TRUST_IS_NOT_SIGNATURE_VALID diatur di bidang dwErrorStatus dari struktur CERT_TRUST_STATUS . Parameter ppChainContext dari fungsi CertGetCertificateChain dan parameter pprgpSelection dari fungsi CertSelectCertificateChains menunjuk ke struktur CERT_CHAIN_CONTEXT yang, pada gilirannya, menunjuk ke struktur CERT_TRUST_STATUS .
  • Jika rantai ditandatangani dengan kuat, kunci publik di sertifikat akhir diperiksa untuk menentukan apakah rantai memenuhi persyaratan panjang kunci publik minimum untuk tanda tangan yang kuat. Jika kondisi tidak terpenuhi, kesalahan CERT_TRUST_HAS_WEAK_SIGNATURE dan CERT_TRUST_IS_NOT_SIGNATURE_VALID diatur di bidang dwErrorStatus dari struktur CERT_TRUST_STATUS . Atur nilai CERT_CHAIN_STRONG_SIGN_DISABLE_END_CHECK_FLAG di anggota dwStrongSignFlags untuk menonaktifkan pemeriksaan ini.
  • Jika bendera CERT_STRONG_SIGN_ENABLE_CRL_CHECK atau CERT_STRONG_SIGN_ENABLE_OCSP_CHECK diatur dalam struktur CERT_STRONG_SIGN_SERIALIZED_INFO yang direferensikan oleh struktur CERT_STRONG_SIGN_PARA yang diarahkan oleh anggota pStrongSignPara , dan respons CRL atau OCSP ditemukan tanpa tanda tangan yang kuat, respons CRL atau OCSP akan diperlakukan offline. Artinya, kesalahan CERT_TRUST_IS_OFFLINE_REVOCATION dan CERT_TRUST_REVOCATION_STATUS_UNKNOWN diatur di bidang dwErrorStatus dari struktur CERT_TRUST_STATUS . Selain itu, anggota dwRevocationResult dari struktur CERT_REVOCATION_INFO diatur ke NTE_BAD_ALGID.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Header wincrypt.h

Lihat juga

CERT_USAGE_MATCH