Menggunakan Toko di Lokasi Yang Berbeda
[CAPICOM adalah komponen 32-bit saja yang tersedia untuk digunakan dalam sistem operasi berikut: Windows Server 2008, Windows Vista, dan Windows XP. Sebagai gantinya, gunakan .NET Framework untuk menerapkan fitur keamanan. Untuk informasi selengkapnya, lihat Alternatif untuk Menggunakan CAPICOM.]
Contoh berikut menunjukkan aspek bekerja dengan objek Store . Ini menunjukkan pembukaan toko di lokasi CAPICOM_MEMORY_STORE, CAPICOM_CURRENT_USER_STORE, dan CAPICOM_LOCAL_MACHINE_STORE.
Contoh menunjukkan mengekspor sertifikat dari penyimpanan terbuka, menulis sertifikat yang diekspor ke file, membacanya kembali dan mengimpornya ke penyimpanan yang berbeda. Sertifikat yang baru diimpor kemudian 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.
Sub OpenStores()
On Error GoTo ErrorHandler
'Open Memory, current user, and local machine stores
Dim MemoryStore As New Store
Dim CurrentUserStore As New Store
Dim LocalMachineStore As New Store
Dim NumCerts As Integer
MemoryStore.Open(CAPICOM_MEMORY_STORE, "MemStore", _
CAPICOM_STORE_OPEN_READ_WRITE)
CurrentUserStore.Open(CAPICOM_CURRENT_USER_STORE, _
CAPICOM_MY_STORE, CAPICOM_STORE_OPEN_READ_ONLY)
LocalMachineStore.Open(CAPICOM_LOCAL_MACHINE_STORE, _
CAPICOM_CA_STORE, CAPICOM_STORE_OPEN_READ_ONLY)
' Check the number of certificates in the stores.
NumCerts = MemoryStore.Certificates.Count
MsgBox("There are " & NumCerts & _
" certificates in the memory store. ")
NumCerts = CurrentUserStore.Certificates.Count
MsgBox("There are " & NumCerts & _
" certificates in the current user store. ")
NumCerts = LocalMachineStore.Certificates.Count
MsgBox("There are " & NumCerts & _
" certificates in the local machine store. ")
' Export the certificates in the current user MY store
' to a file.
Dim ExportString As String
ExportString = CurrentUserStore.Export
Open "Exportcerts.txt" For Output As #1
Write #1, ExportString
Close #1
' Read the store the file.
Dim importString As String
Open "exportcerts.txt" For Input As #2
Input #2, importString
Close #2
MemoryStore.Import(importString)
' Check the number of certificates in the memory store after
' import()
NumCerts = MemoryStore.Certificates.Count
MsgBox("There are " & NumCerts & _
" certificates now in the memory store. ")
' Enumerate the certificates in the memory store and display each
' certificate
Dim i As Long
For i = 1 To NumCerts
MemoryStore.Certificates.Item(i).Display()
Next i
' Release the store objects
MemoryStore = Nothing
CurrentUserStore = Nothing
LocalMachineStore = 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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk