Статус: Новичок
Группы: Участники
Зарегистрирован: 27.12.2010(UTC) Сообщений: 4
|
Добрый день. Установили на новый сервер Крипто-ПРО. Пробуем произвести тестовую подпись через VBScript по вашему примеру. Код:
Option Explicit
Const CADES_BES = 1
Const CADES_DEFAULT = 0
Const CAPICOM_ENCODE_BASE64 = 0
Const CAPICOM_CURRENT_USER_STORE = 2
' Укажите правильный серийный номер сертификата.
Dim sSerialNumber : sSerialNumber = "13213132"
' Укажите правильный адрес службы штампов времени.
Dim sTSAAddress : sTSAAddress = "http://domain/tsp/tsp.srf"
Dim oSigner
Set oSigner = CreateObject("CAdESCOM.CPSigner")
oSigner.Certificate = GetSignerCertificate(sSerialNumber)
Dim oSignedData
Set oSignedData = CreateObject("CAdESCOM.CadesSignedData")
oSignedData.Content = "Some very significant message"
Dim sSignedData
' Создание и проверка подписи CAdES BES
sSignedData = oSignedData.SignCades(oSigner, CADES_BES, False, CAPICOM_ENCODE_BASE64)
oSignedData.VerifyCades sSignedData, CADES_BES, False
' Создание параллельной подписи CAdES X Long Type 1
sSignedData = oSignedData.CoSignCades(oSigner, CADES_DEFAULT, CAPICOM_ENCODE_BASE64)
' Проверка полученных параллельных подписей на соответствие CAdES BES
oSignedData.VerifyCades sSignedData, CADES_BES, False
' Дополнение подписи CAdES BES до подписи CAdES X Long Type 1 (вторая
' подпись остается без изменения, так как она уже CAdES X Long Type 1)
sSignedData = oSignedData.EnhanceCades(CADES_DEFAULT, sTSAAddress, CAPICOM_ENCODE_BASE64)
' Проверка полученных параллельных подписей на соответствие CAdES X Long Type 1
oSignedData.VerifyCades sSignedData, CADES_DEFAULT, False
Function GetSignerCertificate(SerialNumber)
Set GetSignerCertificate = Nothing
Dim oCert
Dim oStore
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 CreateFile (sFileName, sContent)
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
Dim NewFile
Set NewFile = fso.CreateTextFile(sFileName, True)
NewFile.WriteLine(sContent)
NewFile.Close
End Function
В результате имеем ошибку (в аттаче). ОС: W2K3 SP2. Крипто-Про : 3.6.46.06 Отредактировано пользователем 5 января 2011 г. 23:33:49(UTC)
| Причина: Не указана Пользователь efa.admin прикрепил следующие файлы: New Bitmap Image.bmp (229kb) загружен 36 раз(а).У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 02.12.2008(UTC) Сообщений: 39
|
Не указано имя хранилища, в котором необходимо искать сертификат.
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 27.12.2010(UTC) Сообщений: 4
|
Пробую выставить CAPICOM_CURRENT_USER_STORE = 1 (По описанию капикома это хранилище локальной машины), ситуация повторяется.
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 02.12.2008(UTC) Сообщений: 39
|
Для метода Open объекта oStore необходимо указать ещё один параметр: StoreName Отредактировано пользователем 10 января 2011 г. 14:57:04(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 10.12.2008(UTC) Сообщений: 924 Откуда: Крипто-Про Поблагодарили: 99 раз в 95 постах
|
Здравствуйте! Код:' Укажите правильный серийный номер сертификата.
Dim sSerialNumber : sSerialNumber = "13213132"
Здесь точно указан правильный серийный номер сертификата? Приведенный Вами код пытается найти сертификат с данным серийным номером в хранилище "Му" текущего пользователя.
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close