Bagikan melalui


Menambahkan Sertifikat ke Penyimpanan Sertifikat

[CAPICOM adalah komponen 32-bit saja yang tersedia untuk digunakan dalam sistem operasi berikut: Windows Server 2008, Windows Vista, Windows XP. Sebagai gantinya, gunakan .NET Framework untuk menerapkan fitur keamanan. Untuk informasi selengkapnya, lihat Alternatif untuk Menggunakan CAPICOM.]

Sertifikat dapat ditambahkan ke atau dihapus dari penyimpanan sertifikat jika penyimpanan dibuka dengan izin baca/tulis. Izin baca/tulis tidak diberikan ke penyimpanan Direktori Aktif. Meskipun sertifikat dapat ditambahkan ke atau dihapus dari penyimpanan memori, perubahan di penyimpanan memori tidak bertahan di antara sesi.

Sertifikat dapat ditambahkan ke penyimpanan sertifikat yang dibuka dengan izin baca/tulis dengan menggunakan metode Tambahkan . Sertifikat dapat dihapus dari penyimpanan sertifikat yang dibuka dengan izin baca/tulis dengan menggunakan metode Hapus . Penyimpanan baru dapat dibuat dan disimpan di lokasi CAPICOM_CURRENT_USER_STORE dan CAPICOM_LOCAL_MACHINE_STORE. Penyimpanan yang baru dibuat di salah satu lokasi ini dapat dibuka dengan izin baca/tulis.

Dalam contoh berikut, dua penyimpanan sertifikat dibuka. Sertifikat subjek dengan nama belakang yang dimulai dengan F diambil dari penyimpanan Direktori Aktif. Penyimpanan CAPICOM_CURRENT_USER_STORE, CAPICOM_CA_STORE kemudian dibuka sebagai penyimpanan baca/tulis dan sertifikat pertama dari pengumpulan sertifikat di penyimpanan Direktori Aktif ditambahkan ke sertifikat di CAPICOM_CA_STORE.

Untuk tujuan demonstrasi, contohnya menunjukkan pembukaan toko di lokasi CAPICOM_MEMORY_STORE, CAPICOM_CURRENT_USER_STORE, dan CAPICOM_LOCAL_MACHINE_STORE. Contoh menunjukkan mengekspor semua sertifikat dari penyimpanan terbuka, menulis sertifikat yang diekspor ke file, membacanya kembali, dan mengimpornya ke penyimpanan yang berbeda. Sertifikat yang baru diimpor adalah sertifikat yang dijumlahkan dan ditampilkan.

Pada kesalahan CAPICOM apa pun, nilai desimal negatif Err.Number dikembalikan. Untuk informasi selengkapnya, lihat CAPICOM_ERROR_CODE. Untuk informasi tentang nilai desimal positif Err.Number, lihat Winerror.h.

Contoh berikut menunjukkan pembukaan penyimpanan sertifikat menggunakan pengikatan awal dalam deklarasi objek Store dan dalam membuat instans objek tersebut.

Sub AddCert()
On Error GoTo ErrorHandler
' The following shows two different ways to declare and
' create a store object.

Dim myADstore As New Store

Dim myCAstore As Store
Set myCAstore = New Store

' In this example, the Active Directory store will be searched for a 
' certificate with a subject name that begins with the letter F. 
' This is done by using the string "SN=F*" as the name of the store.

Dim SubjectNameSN As String
SubjectNameSN = "SN=F*"

' Active Directory stores can only be opened with read-only
' access.

myADstore.Open CAPICOM_ACTIVE_DIRECTORY_USER_STORE,
                SubjectNameSN , CAPICOM_STORE_OPEN_READ_ONLY

'  This example assumes that the store opened and that
'  at least one certificate was returned.
'  A complete application would ensure that at least one certificate
'  was in the store before proceeding and would
'  also select one or more of the certificates returned
'  to be added instead of using the first certificate
'  in the collection.

'  Open the MY store so that a certificate can be added.

myCAstore.Open CAPICOM_CURRENT_USER_STORE, CAPICOM_MY_STORE,
                    CAPICOM_STORE_OPEN_READ_WRITE

myCAstore.Add myADstore.certificates.Item(1)

' Release the two store objects.

Set myCAstore = Nothing
Set myADstore = Nothing
Exit Sub

ErrorHandler:
If Err.Number > 0 Then
    MsgBox "Visual Basic error found:" & Err.Description
Else
    MsgBox "CAPICOM error found : " & Err.Number
End If
End Sub