Fungsi CryptImportPublicKeyInfo (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.
 
Fungsi CryptImportPublicKeyInfo mengonversi dan mengimpor informasi kunci publik ke penyedia dan mengembalikan handel kunci publik. CryptImportPublicKeyInfoEx menyediakan versi fungsi ini yang direvisi.

Sintaks

BOOL CryptImportPublicKeyInfo(
  [in]  HCRYPTPROV            hCryptProv,
  [in]  DWORD                 dwCertEncodingType,
  [in]  PCERT_PUBLIC_KEY_INFO pInfo,
  [out] HCRYPTKEY             *phKey
);

Parameter

[in] hCryptProv

Handel penyedia layanan kriptografi (CSP) untuk digunakan saat mengimpor kunci publik. 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.

[out] phKey

Alamat variabel HCRYPTKEY yang menerima handel kunci umum yang diimpor. Setelah Anda selesai menggunakan kunci umum, lepaskan handel dengan memanggil fungsi CryptDestroyKey .

Mengembalikan nilai

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.

Catatan Kesalahan dari fungsi yang disebut CryptGetUserKey dan CryptExportKey mungkin disebarluaskan ke fungsi ini. Fungsi ini memiliki kode kesalahan berikut.
 
Menampilkan kode Deskripsi
ERROR_FILE_NOT_FOUND
Fungsi impor yang dapat diinstal atau didaftarkan tidak dapat ditemukan untuk parameter dwCertEncodingType dan pInfo-Algorithm.pszObjId> 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

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

CryptExportPublicKeyInfo

Fungsi Manajemen Data