Bagikan melalui


Fungsi CryptGetKeyIdentifierProperty (wincrypt.h)

Penting API ini tidak digunakan lagi. Perangkat lunak baru dan yang sudah ada harus mulai menggunakan Cryptography Next Generation API. Microsoft dapat menghapus API ini dalam rilis mendatang.
 
CryptGetKeyIdentifierProperty memperoleh properti tertentu dari pengidentifikasi kunci tertentu.

Sintaks

BOOL CryptGetKeyIdentifierProperty(
  [in]      const CRYPT_HASH_BLOB *pKeyIdentifier,
  [in]      DWORD                 dwPropId,
  [in]      DWORD                 dwFlags,
  [in]      LPCWSTR               pwszComputerName,
  [in]      void                  *pvReserved,
  [out]     void                  *pvData,
  [in, out] DWORD                 *pcbData
);

Parameter

[in] pKeyIdentifier

Penunjuk ke CRYPT_HASH_BLOB yang berisi pengidentifikasi kunci.

[in] dwPropId

Mengidentifikasi properti yang akan diambil. Nilai dwPropId menentukan jenis dan konten parameter pvData . ID properti sertifikat apa pun dapat digunakan.

[in] dwFlags

Bendera berikut dapat digunakan. Mereka dapat dikombinasikan dengan operasi bitwise-OR.

Nilai Makna
CRYPT_KEYID_MACHINE_FLAG
Cari daftar pengidentifikasi kunci LocalMachine (jika pwszComputerName adalah NULL) atau komputer jarak jauh (jika pwszComputerName bukan NULL). Untuk informasi selengkapnya, lihat pwszComputerName.
CRYPT_KEYID_ALLOC_FLAG
Fungsi LocalAlloc() dipanggil untuk mengalokasikan memori untuk pvData. *pvData diperbarui dengan pointer ke memori yang dialokasikan. LocalFree() harus dipanggil untuk membebaskan memori yang dialokasikan.

[in] pwszComputerName

Penunjuk ke nama komputer jarak jauh yang akan dicari. Jika bendera CRYPT_KEYID_MACHINE_FLAG diatur, cari komputer jarak jauh untuk daftar pengidentifikasi kunci. Jika komputer lokal akan dicari dan bukan komputer jarak jauh, atur pwszComputerName ke NULL.

[in] pvReserved

Dicadangkan untuk digunakan di masa mendatang dan harus NULL.

[out] pvData

Penunjuk ke buffer untuk menerima data seperti yang ditentukan oleh dwPropId. Elemen yang diacu oleh bidang dalam struktur pvData mengikuti struktur . Oleh karena itu, ukuran yang terkandung dalam pcbData dapat melebihi ukuran struktur.

Jika dwPropId CERT_KEY_PROV_INFO_PROP_ID, pvData menunjuk ke struktur CRYPT_KEY_PROV_INFO yang berisi properti pengidentifikasi kunci.

Jika dwPropId tidak CERT_KEY_PROV_INFO_PROP_ID, pvData menunjuk ke array byte yang berisi properti pengidentifikasi kunci.

Untuk mendapatkan ukuran informasi ini untuk tujuan alokasi memori, parameter ini bisa null ketika CRYPT_KEYID_ALLOC_FLAG tidak diatur. Untuk informasi selengkapnya, lihat Mengambil Data Dengan Panjang Tidak Diketahui.

Ketika CRYPT_KEYID_ALLOC_FLAG diatur, pvData adalah alamat penunjuk ke buffer yang akan diperbarui. Karena memori dialokasikan dan pointer disimpan di *pvData, pvData tidak boleh NULL.

[in, out] pcbData

Penunjuk ke DWORD yang berisi ukuran, dalam byte, dari buffer yang ditujukkan oleh parameter pvData . Saat fungsi kembali, DWORD berisi jumlah byte yang disimpan dalam buffer. Ukuran yang terkandung dalam variabel yang ditunjukkan oleh pcbData dapat menunjukkan ukuran yang lebih besar dari struktur CRYPT_KEY_PROV_INFO karena struktur dapat berisi pointer ke data tambahan. Ukuran ini adalah jumlah ukuran yang diperlukan oleh struktur dan semua data tambahan.

Ketika CRYPT_KEYID_ALLOC_FLAG diatur, pcbData adalah alamat penunjuk ke DWORD yang akan diperbarui.

Catatan Saat memproses data yang dikembalikan dalam buffer, aplikasi perlu menggunakan ukuran aktual data yang dikembalikan. Ukuran aktual bisa sedikit lebih kecil dari ukuran buffer yang ditentukan pada input. Pada input, ukuran buffer biasanya ditentukan cukup besar untuk memastikan bahwa data output terbesar yang mungkin cocok di buffer. Pada output, variabel yang diacu oleh parameter ini diperbarui untuk mencerminkan ukuran aktual data yang disalin ke buffer.
 

Nilai kembali

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

Jika fungsi gagal, fungsi mengembalikan nol (FALSE). Untuk informasi kesalahan yang diperluas, hubungi GetLastError.

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

CryptEnumKeyIdentifierProperties

CryptSetKeyIdentifierProperty

Fungsi Pengidentifikasi Kunci