Membuka Penyimpanan Direktori Aktif dan Mengambil Sertifikat
[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.]
Sertifikat dapat diambil dari penyimpanan Direktori Aktif tempat sertifikat pengguna domain disimpan. Penyimpanan Direktori Aktif hanya dapat dibuka dalam mode baca-saja dan aplikasi tidak dapat menambahkan sertifikat ke atau menghapus sertifikat dari penyimpanan Direktori Aktif menggunakan CAPICOM.
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 Direktori Aktif dan mengambil sertifikat dari penyimpanan tersebut.
Sub OpenADStore()
On Error GoTo ErrorHandler
Dim mystore As Store
Set mystore = New Store
' Put a string that represents the name of a certificate
' subject in SubjectNameCn. In the following example,
' the * wildcard character is used in the string so that
' the Active Directory store will be searched for all
' certificates with a subject name beginning with 'S.'
Dim SubjectNameCn As String
' The following uses 'cn=' and the * wildcard character.
' Using this string, all certificates in the Active Directory
' store with a subject name beginning with an 'S' would
' be returned.
SubjectNameCn = "CN=S*"
' Active Directory stores can only be opened with read-only
' access.
mystore.Open CAPICOM_ACTIVE_DIRECTORY_USER_STORE, _
SubjectNameCn, CAPICOM_STORE_OPEN_READ_ONLY
If mystore.Certificates.Count < 1 Then
MsgBox "A certificate for " & SubjectNameCn & _
" was not found "
Else
MsgBox "The certificate has been retrieved."
End If
Set mystore = 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