Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
[CAPICOM — это 32-разрядный компонент, доступный для использования в следующих операционных системах: Windows Server 2008, Windows Vista, Windows XP. Вместо этого используйте .NET Framework для реализации функций безопасности. Дополнительные сведения см. в разделе Альтернативы использованию CAPICOM.]
сертификаты можно добавить или удалить из хранилища сертификатов, если хранилище открыто с разрешением на чтение и запись. Разрешение на чтение и запись не предоставляется хранилищам Active Directory. Хотя сертификаты можно добавлять или удалять из хранилищ памяти, изменения в хранилищах памяти не сохраняются между сеансами.
Сертификаты можно добавить в хранилище сертификатов, открываемое с разрешением на чтение и запись, с помощью метода добавления . Сертификат можно удалить из хранилища сертификатов, открываемого с разрешением на чтение и запись, с помощью метода Remove. Новые хранилища можно создавать и сохранять в местоположениях CAPICOM_CURRENT_USER_STORE и CAPICOM_LOCAL_MACHINE_STORE. Только что созданные хранилища в любом из этих расположений можно открыть с разрешением на чтение и запись.
В следующем примере открываются два хранилища сертификатов. Сертификаты субъектов с фамилией, начиная с F, извлекаются из хранилища Active Directory. Затем хранилище CAPICOM_CURRENT_USER_STORE, CAPICOM_CA_STORE открывается в режиме чтения и записи, и первый сертификат из коллекции сертификатов в хранилище Active Directory добавляется в сертификаты в CAPICOM_CA_STORE.
В демонстрационных целях в примере показано открытие магазинов в CAPICOM_MEMORY_STORE, CAPICOM_CURRENT_USER_STORE и CAPICOM_LOCAL_MACHINE_STORE расположениях. В примере показано экспорт всех сертификатов из открытого хранилища, запись экспортированных сертификатов в файл, их чтение обратно и импорт их в другое хранилище. Недавно импортированные сертификаты перечисляются и отображаются.
При любой ошибке CAPICOM возвращается отрицательное десятичное значение Err.Number. Дополнительные сведения см. в CAPICOM_ERROR_CODE. Сведения о положительных десятичных значениях Err.Numberсм. в разделе Winerror.h.
В следующем примере показано открытие хранилищ сертификатов с помощью ранней привязки в объявлении объектов хранилища и создания экземпляра этих объектов.
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