Статус: Участник
Группы: Участники
Зарегистрирован: 18.11.2010(UTC) Сообщений: 15
Сказал(а) «Спасибо»: 4 раз
|
В общем, пытаюсь запустить слегка модифицированный пример из хелпа оного SDK: Код:Option Explicit
Const CAPICOM_CURRENT_USER_STORE = 2
Const CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN = 1
Dim oSigner
Set oSigner = CreateObject("CAdESCOM.CPSigner")
' Укажите правильный серийный номер сертификата.
Dim sSerialNumber : sSerialNumber = "29349754000100001e4e"
' Укажите правильный адрес службы штампов времени.
Dim sTSAAddress : sTSAAddress = "http://www.cryptopro.ru/tsp/tsp.srf"
oSigner.Certificate = GetSignerCertificate(sSerialNumber)
oSigner.TSAAddress = sTSAAddress
Dim oSignedData
Dim oSettings
Set oSignedData = CreateObject("CAdESCOM.CadesSignedData")
oSignedData.Content = "Some very significant message"
Dim sSignedData
sSignedData = oSignedData.Sign(oSigner, False)
WriteStringToFile "exit.sig",sSignedData
Function GetSignerCertificate(SerialNumber)
Set GetSignerCertificate = Nothing
Dim oCert
Dim oStore
SerialNumber = UCase(SerialNumber)
Set oStore = CreateObject("CAPICOM.Store")
oStore.Open CAPICOM_CURRENT_USER_STORE
For Each oCert In oStore.Certificates
If oCert.SerialNumber = SerialNumber Then
Set GetSignerCertificate = oCert
Exit For
End If
Next
End Function
Function WriteStringToFile(Filename, Str)
Set WriteStringToFile = False
Dim fso, f1
Set fso = CreateObject("Scripting.FileSystemObject")
Set f1 = fso.CreateTextFile(Filename, True)
f1.Write (Str)
f1.Close
Set WriteStringToFile = True
End Function
Выполнение валится на строчке: Код: sSignedData = oSignedData.Sign(oSigner, False)
Со следующей ошибкой:  При этом свойство oSigner.Chain корректно заполнено на момент выполнения этой строки, т.е. цепочка по факту уже построена. Сертификат в системе определён как доверенный, сертификат корневого центра для него добавлен в список доверенных корневых центров:    Собственно, вопрос - что я делаю не так?
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 18.11.2010(UTC) Сообщений: 15
Сказал(а) «Спасибо»: 4 раз
|
Если вместо Код:Set oSignedData = CreateObject("CAdESCOM.CadesSignedData")
использовать Код:Set oSignedData = CreateObject("CAPICOM.SignedData")
то всё запускается и работает. В чём соль?
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close