PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC fungsi panggilan balik (wincrypt.h)

Fungsi panggilan balik PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC dipanggil oleh CryptExportPublicKeyInfoEx untuk mengekspor BLOB kunci publik dan mengodekannya.

Sintaks

PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC PfnCryptExportPublicKeyInfoEx2Func;

BOOL PfnCryptExportPublicKeyInfoEx2Func(
  [in]            NCRYPT_KEY_HANDLE hNCryptKey,
  [in]            DWORD dwCertEncodingType,
  [in]            LPSTR pszPublicKeyObjId,
  [in]            DWORD dwFlags,
  [in, optional]  void *pvAuxInfo,
  [out, optional] PCERT_PUBLIC_KEY_INFO pInfo,
  [in, out]       DWORD *pcbInfo
)
{...}

Parameter

[in] hNCryptKey

Handel penyedia layanan kriptografi (CSP) untuk digunakan saat mengekspor informasi kunci publik. Handel ini harus merupakan handel NCRYPT_KEY_HANDLE yang telah dibuat dengan menggunakan fungsi NCryptOpenKey .

[in] dwCertEncodingType

Nilai yang menentukan jenis pengodean yang digunakan. Selalu dapat diterima untuk menentukan jenis pengodean sertifikat dan pesan dengan menggabungkannya dengan operasi bitwise-OR seperti yang ditunjukkan dalam contoh berikut:

X509_ASN_ENCODING | PKCS_7_ASN_ENCODING

Jenis pengodean yang saat ini ditentukan adalah:

  • X509_ASN_ENCODING
  • PKCS_7_ASN_ENCODING

[in] pszPublicKeyObjId

Penunjuk ke string yang berisi algoritma kunci publik.

[in] dwFlags

Nilai yang menunjukkan bagaimana informasi kunci publik diekspor. Ini bisa nol.

[in, optional] pvAuxInfo

Parameter ini dicadangkan untuk digunakan di masa mendatang dan harus diatur ke NULL.

[out, optional] pInfo

Pointer ke struktur CERT_PUBLIC_KEY_INFO untuk menerima informasi kunci publik yang akan diekspor.

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

[in, out] pcbInfo

Penunjuk ke DWORD yang berisi ukuran, dalam byte, dari buffer yang diacu oleh parameter pInfo . Saat fungsi kembali, DWORD berisi jumlah byte yang disimpan dalam buffer.

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 akan pas 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, nilai yang dikembalikan bukan nol (TRUE).

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

Jika fungsi panggilan balik ini tidak mendukung algoritma tanda tangan, fungsi tersebut harus mengembalikan FALSE dan memanggil SetLastError dengan ERROR_NOT_SUPPORTED.

Keterangan

Anda dapat menggunakan Fungsi Dukungan OID untuk menyebarkan fungsi panggilan balik ini. Wincrypt.h mendefinisikan konstanta berikut untuk tujuan ini.

Terus-menerus Definisi
CRYPT_OID_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC "CryptDllExportPublicKeyInfoEx2"

Persyaratan

   
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Target Platform Windows
Header wincrypt.h