Bagikan melalui


Fungsi CertAddEncodedCertificateToStore (wincrypt.h)

Fungsi CertAddEncodedCertificateToStore membuat konteks sertifikat dari sertifikat yang dikodekan dan menambahkannya ke penyimpanan sertifikat. Konteks yang dibuat tidak menyertakan properti yang diperluas.

Fungsi CertAddEncodedCertificateToStore juga membuat salinan sertifikat yang dikodekan sebelum menambahkan sertifikat ke penyimpanan.

Sintaks

BOOL CertAddEncodedCertificateToStore(
  [in]            HCERTSTORE     hCertStore,
  [in]            DWORD          dwCertEncodingType,
  [in]            const BYTE     *pbCertEncoded,
  [in]            DWORD          cbCertEncoded,
  [in]            DWORD          dwAddDisposition,
  [out, optional] PCCERT_CONTEXT *ppCertContext
);

Parameter

[in] hCertStore

Handel ke penyimpanan sertifikat.

[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 ditentukan saat ini adalah:

  • X509_ASN_ENCODING
  • PKCS_7_ASN_ENCODING

[in] pbCertEncoded

Penunjuk ke buffer yang berisi sertifikat yang dikodekan yang akan ditambahkan ke penyimpanan sertifikat.

[in] cbCertEncoded

Ukuran, dalam byte, dari buffer pbCertEncoded .

[in] dwAddDisposition

Menentukan tindakan yang akan diambil jika sertifikat yang cocok atau tautan ke sertifikat yang cocok ada di penyimpanan. Nilai disposisi yang ditentukan saat ini dan penggunaannya adalah sebagai berikut.

Nilai Makna
CERT_STORE_ADD_ALWAYS
Fungsi ini tidak membuat pemeriksaan untuk sertifikat yang cocok atau tautan yang ada ke sertifikat yang cocok. Sertifikat baru selalu ditambahkan ke penyimpanan. Ini dapat menyebabkan duplikat di toko.
CERT_STORE_ADD_NEW
Jika sertifikat yang cocok atau tautan ke sertifikat yang cocok ada di penyimpanan, operasi gagal. GetLastError mengembalikan kode CRYPT_E_EXISTS.
CERT_STORE_ADD_REPLACE_EXISTING
Jika sertifikat atau tautan yang cocok ke sertifikat yang cocok ada di penyimpanan, sertifikat atau tautan yang ada dihapus dan sertifikat baru dibuat dan ditambahkan ke penyimpanan. Jika sertifikat yang cocok atau tautan ke sertifikat yang cocok tidak ada, sertifikat baru dibuat dan ditambahkan ke penyimpanan.
CERT_STORE_ADD_REPLACE_EXISTING_INHERIT_PROPERTIES
Jika sertifikat yang cocok ada di penyimpanan, konteks yang ada akan dihapus sebelum membuat dan menambahkan konteks baru. Konteks baru mewarisi properti dari sertifikat yang ada.
CERT_STORE_ADD_USE_EXISTING
Jika sertifikat yang cocok atau tautan ke sertifikat yang cocok ada, sertifikat atau tautan yang ada digunakan dan properti dari sertifikat baru ditambahkan. Fungsi ini tidak gagal, tetapi tidak menambahkan konteks baru. Jika ppCertContext bukan NULL, konteks yang ada diduplikasi.

Jika sertifikat atau tautan yang cocok ke sertifikat yang cocok tidak ada, sertifikat baru ditambahkan.

[out, optional] ppCertContext

Penunjuk ke penunjuk ke konteks sertifikat yang didekodekan. Ini adalah parameter opsional yang dapat berupa NULL, yang menunjukkan bahwa aplikasi panggilan tidak memerlukan salinan sertifikat baru atau yang sudah ada. Ketika salinan dibuat, konteksnya harus dikosongkan dengan menggunakan CertFreeCertificateContext.

Nilai kembali

Jika fungsi berhasil, nilai yang dikembalikan adalah TRUE.

Jika fungsi gagal, nilai yang dikembalikan adalah FALSE. Untuk informasi kesalahan yang diperluas, hubungi GetLastError. Beberapa kemungkinan kode kesalahan mengikuti.

Menampilkan kode Deskripsi
CRYPT_E_EXISTS
Kode ini dikembalikan jika CERT_STORE_ADD_NEW diatur dan sertifikat sudah ada di penyimpanan, atau jika CERT_STORE_ADD_NEWER diatur dan ada sertifikat di penyimpanan dengan tanggal NotBefore yang lebih besar dari atau sama dengan tanggal NotBefore pada sertifikat yang akan ditambahkan.
E_INVALIDARG
Nilai disposisi yang tidak valid ditentukan dalam parameter dwAddDisposition , atau jenis pengodean sertifikat yang tidak valid ditentukan. Saat ini, hanya jenis X509_ASN_ENCODING yang didukung.
 

Jika fungsi gagal, GetLastError mengembalikan kesalahan pengodean/decoding 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 [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2003 [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header wincrypt.h
Pustaka Crypt32.lib
DLL Crypt32.dll

Lihat juga

CertAddCertificateContextToStore

CertFreeCertificateContext

Fungsi Sertifikat