Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline efa.admin  
#1 Оставлено : 5 января 2011 г. 23:23:32(UTC)
efa.admin

Статус: Новичок

Группы: Участники
Зарегистрирован: 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 раз(а).

У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.
Offline dmitriy.spolokhov  
#2 Оставлено : 6 января 2011 г. 18:04:07(UTC)
dmitriy.spolokhov

Статус: Активный участник

Группы: Участники
Зарегистрирован: 02.12.2008(UTC)
Сообщений: 39
Мужчина
Российская Федерация

Не указано имя хранилища, в котором необходимо искать сертификат.
Offline efa.admin  
#3 Оставлено : 6 января 2011 г. 20:59:11(UTC)
efa.admin

Статус: Новичок

Группы: Участники
Зарегистрирован: 27.12.2010(UTC)
Сообщений: 4

Пробую выставить CAPICOM_CURRENT_USER_STORE = 1 (По описанию капикома это хранилище локальной машины), ситуация повторяется.
Offline dmitriy.spolokhov  
#4 Оставлено : 10 января 2011 г. 14:56:17(UTC)
dmitriy.spolokhov

Статус: Активный участник

Группы: Участники
Зарегистрирован: 02.12.2008(UTC)
Сообщений: 39
Мужчина
Российская Федерация

Для метода Open объекта oStore необходимо указать ещё один параметр: StoreName

Отредактировано пользователем 10 января 2011 г. 14:57:04(UTC)  | Причина: Не указана

Offline Новожилова Елена  
#5 Оставлено : 12 января 2011 г. 16:16:01(UTC)
Новожилова Елена

Статус: Сотрудник

Группы: Администраторы, Участники
Зарегистрирован: 10.12.2008(UTC)
Сообщений: 924
Женщина
Откуда: Крипто-Про

Поблагодарили: 99 раз в 95 постах
Здравствуйте!

Код:
' Укажите правильный серийный номер сертификата.
Dim sSerialNumber : sSerialNumber = "13213132"


Здесь точно указан правильный серийный номер сертификата? Приведенный Вами код пытается найти сертификат с данным серийным номером в хранилище "Му" текущего пользователя.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.