Fungsi CertGetEnhancedKeyUsage (wincrypt.h)

Fungsi CertGetEnhancedKeyUsage mengembalikan informasi dari ekstensi penggunaan kunci yang ditingkatkan (EKU) atau properti sertifikat yang diperluas EKU. EKUs menunjukkan penggunaan sertifikat yang valid.

Sintaks

BOOL CertGetEnhancedKeyUsage(
  [in]      PCCERT_CONTEXT     pCertContext,
  [in]      DWORD              dwFlags,
  [out]     PCERT_ENHKEY_USAGE pUsage,
  [in, out] DWORD              *pcbUsage
);

Parameter

[in] pCertContext

Penunjuk ke konteks sertifikat CERT_CONTEXT .

[in] dwFlags

Menunjukkan apakah fungsi akan melaporkan ekstensi sertifikat, properti yang diperluas, atau keduanya. Jika diatur ke nol, fungsi mengembalikan penggunaan sertifikat yang valid berdasarkan ekstensi EKU dan nilai properti sertifikat yang diperluas EKU.

Untuk mengembalikan hanya ekstensi EKU atau nilai properti EKU, atur bendera berikut.

Nilai Makna
CERT_FIND_EXT_ONLY_ENHKEY_USAGE_FLAG
Hanya dapatkan ekstensi.
CERT_FIND_PROP_ONLY_ENHKEY_USAGE_FLAG
Dapatkan hanya nilai properti yang diperluas.

[out] pUsage

Penunjuk ke struktur CERT_ENHKEY_USAGE (CERT_ENHKEY_USAGE adalah nama typedef alternatif untuk struktur CTL_USAGE ) yang menerima penggunaan sertifikat yang valid.

Parameter ini dapat berupa NULL untuk mengatur ukuran penggunaan kunci untuk tujuan alokasi memori. Untuk informasi selengkapnya, lihat Mengambil Data Dengan Panjang Tidak Diketahui.

[in, out] pcbUsage

Penunjuk ke DWORD yang menentukan ukuran, dalam byte, dari struktur yang diarahkan oleh pUsage. Saat fungsi kembali, DWORD berisi ukuran, dalam byte, dari struktur.

Mengembalikan nilai

Jika fungsi berhasil, fungsi mengembalikan bukan nol (TRUE).

Jika fungsi gagal, fungsi mengembalikan nol (FALSE).

Keterangan

Jika sertifikat memiliki ekstensi EKU, ekstensi tersebut mencantumkan pengidentifikasi objek (OID) untuk penggunaan sertifikat tersebut yang valid. Di lingkungan Microsoft, sertifikat mungkin juga memiliki properti EKU yang diperluas yang menentukan penggunaan yang valid untuk sertifikat.

  • Jika sertifikat tidak memiliki ekstensi EKU atau properti yang diperluas EKU, sertifikat diasumsikan valid untuk semua penggunaan.
  • Jika memiliki ekstensi EKU atau properti yang diperluas EKU tetapi tidak keduanya, itu hanya berlaku untuk penggunaan yang ditunjukkan dalam ekstensi atau properti yang diperluas yang dimilikinya.
  • Jika sertifikat memiliki ekstensi EKU dan properti yang diperluas EKU, sertifikat hanya berlaku untuk penggunaan yang ada di kedua daftar.
Jika dwFlags diatur ke nol, anggota cUsageIdentifier dari struktur CERT_ENHKEY_USAGE diatur ke jumlah penggunaan sertifikat yang valid yang ditentukan oleh nilai ekstensi EKU dan nilai properti yang diperluas EKU.

Jika anggota cUsageIdentifier adalah nol, sertifikat mungkin valid untuk semua penggunaan atau sertifikat mungkin tidak memiliki penggunaan yang valid. Pengembalian dari panggilan ke GetLastError dapat digunakan untuk menentukan apakah sertifikat baik untuk semua penggunaan atau untuk tidak ada. Jika GetLastError mengembalikan CRYPT_E_NOT_FOUND, sertifikat cocok untuk semua penggunaan. Jika mengembalikan nol, sertifikat tidak memiliki penggunaan yang valid.

Persyaratan

   
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

CertSetEnhancedKeyUsage

Fungsi Penggunaan Kunci yang Disempurnakan