Fungsi CryptExportPublicKeyInfo (wincrypt.h)
Fungsi CryptExportPublicKeyInfo mengekspor informasi kunci publik yang terkait dengan kunci privat penyedia yang sesuai. Untuk versi terbaru fungsi ini, lihat CryptExportPublicKeyInfoEx.
Sintaks
BOOL CryptExportPublicKeyInfo(
[in] HCRYPTPROV_OR_NCRYPT_KEY_HANDLE hCryptProvOrNCryptKey,
[in] DWORD dwKeySpec,
[in] DWORD dwCertEncodingType,
[out] PCERT_PUBLIC_KEY_INFO pInfo,
[in, out] DWORD *pcbInfo
);
Parameter
[in] hCryptProvOrNCryptKey
Tangani penyedia layanan kriptografi (CSP) untuk digunakan saat mengekspor informasi kunci publik. Handel ini harus berupa handel HCRYPTPROV yang telah dibuat dengan menggunakan fungsi CryptAcquireContext atau handel NCRYPT_KEY_HANDLE yang telah dibuat dengan menggunakan fungsi NCryptOpenKey . Aplikasi baru harus selalu meneruskan penanganan NCRYPT_KEY_HANDLE CSP CNG.
[in] dwKeySpec
Mengidentifikasi kunci privat yang akan digunakan dari kontainer penyedia. Ini bisa AT_KEYEXCHANGE atau AT_SIGNATURE. Parameter ini diabaikan jika NCRYPT_KEY_HANDLE digunakan dalam parameter hCryptProvOrNCryptKey .
[in] dwCertEncodingType
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
[out] pInfo
Penunjuk ke struktur CERT_PUBLIC_KEY_INFO untuk menerima informasi kunci publik yang akan diekspor.
Untuk mengatur ukuran informasi ini untuk tujuan alokasi memori, parameter ini bisa NULL. 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 diperlukan untuk buffer pengembalian.
Mengembalikan nilai
Jika fungsi berhasil, fungsi mengembalikan bukan nol (TRUE).
Jika fungsi gagal, fungsi akan mengembalikan nol (FALSE). Untuk informasi kesalahan yang diperluas, hubungi GetLastError.
Menampilkan kode | Deskripsi |
---|---|
|
Jika buffer yang ditentukan oleh parameter pInfo tidak cukup besar untuk menyimpan data yang dikembalikan, fungsi mengatur kode ERROR_MORE_DATA, dan menyimpan ukuran buffer yang diperlukan, dalam byte, ke dalam variabel yang ditunjukkan oleh pcbInfo. |
|
Tipe pengodean sertifikat tidak valid. Saat ini hanya X509_ASN_ENCODING yang didukung. |
Jika fungsi gagal, GetLastError dapat mengembalikan kesalahan pengodean/pendekodean Abstract Syntax Notation One (ASN.1). Untuk informasi tentang kesalahan ini, lihat Nilai Pengembalian Pengodean/Pendekodean ASN.1.
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 |