Fungsi CryptImportPublicKeyInfoEx (wincrypt.h)
Sintaks
BOOL CryptImportPublicKeyInfoEx(
[in] HCRYPTPROV hCryptProv,
[in] DWORD dwCertEncodingType,
[in] PCERT_PUBLIC_KEY_INFO pInfo,
[in] ALG_ID aiKeyAlg,
[in] DWORD dwFlags,
[in] void *pvAuxInfo,
[out] HCRYPTKEY *phKey
);
Parameter
[in] hCryptProv
Handel CSP untuk menerima kunci umum yang diimpor. Handel ini harus sudah dibuat menggunakan CryptAcquireContext.
[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
[in] pInfo
alamat struktur CERT_PUBLIC_KEY_INFO yang berisi kunci publik untuk diimpor ke penyedia.
[in] aiKeyAlg
Struktur ALG_ID yang berisi algoritma khusus CSP untuk mengambil alih algoritma default CALG_RSA_KEYX .
[in] dwFlags
Dicadangkan untuk penggunaan di masa mendatang dan harus nol.
[in] pvAuxInfo
Dicadangkan untuk penggunaan di masa mendatang dan harus NULL.
[out] phKey
Alamat variabel HCRYPTKEY yang menerima handel kunci umum yang diimpor. Setelah Anda selesai menggunakan kunci publik, lepaskan handel dengan memanggil fungsi CryptDestroyKey .
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.
Nilai | Deskripsi |
---|---|
|
Fungsi impor yang dapat diinstal atau didaftarkan tidak dapat ditemukan untuk parameter dwCertEncodingType dan pInfo yang ditentukan. |
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.
Keterangan
Fungsi ini biasanya digunakan untuk mengambil kunci publik dari sertifikat. Ini dilakukan dengan meneruskan struktur CERT_PUBLIC_KEY_INFO dari struktur sertifikat yang diisi seperti yang ditunjukkan dalam pseudocode berikut.
PCCERT_CONTEXT pCertContext
// Get the certificate context structure from a certificate.
pCertContext = CertCreateCertificateContext(...)
if(pCertContext)
{
HCRYPTKEY hCertPubKey
// Get the public key information for the certificate.
CryptImportPublicKeyInfo(
hCryptProv,
X509_ASN_ENCODING,
&pCertContext->pCertInfo->SubjectPublicKeyInfo,
&hCertPubKey)
CertFreeCertificateContext(pCertContext)
}
Persyaratan
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 |