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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline AlexDio  
#1 Оставлено : 16 мая 2019 г. 13:52:02(UTC)
AlexDio

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

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

Сказал(а) «Спасибо»: 1 раз
Добрый день.
Пробую добавить еще одну электронную подпись в CMS-сообщение следующим образом:
Код:

 var oHashedData =  cadesplugin.CreateObject("CAdESCOM.HashedData");
 oHashedData.Algorithm = 100;//CADESCOM_HASH_ALGORITHM_CP_GOST_3411
 oHashedData.SetHashValue(sHashValue); // хеш данных (в нашем случае файла)
 oSignedData.VerifyHash(oHashedData, previousSignData, CADESCOM_CADES_BES); //previousSignData - предыдущая подпись в base64
 signature = oSignedData.CoSignHash(oHashedData, oSigner, CADESCOM_CADES_BES); 



При этом падает ошибка
Цитата:
"[cades__sign][oSignedData.Sign] sign error: В этом объекте нет подписи. (0x800B0100)"


Подскажите что я делаю не так. Как объекту oSignedData указать предыдущую подпись?
Offline Ситдиков Денис  
#2 Оставлено : 17 мая 2019 г. 13:44:01(UTC)
Ситдиков Денис

Статус: Администратор

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

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 29 раз в 20 постах
Добрый день!
Предыдущая подпись передается верно.
Уточните, пожалуйста, ошибка возникает на VerifyHash или на CoSignHash? Можете прислать код создания previousSignData?
Offline AlexDio  
#3 Оставлено : 17 мая 2019 г. 15:39:08(UTC)
AlexDio

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

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

Сказал(а) «Спасибо»: 1 раз
Ошибка возникает в методе CoSignHash. С предыдущей подписью все в порядке. Кода формирования подписи нет.
Сценарий использования заключается в том, у нас есть файл с отделенной подписью (.sig файл). previousSignData это и есть эта самая подпись в base64. Соответственно мне нужно к имеющейся подписи добавить еще одну и сохранить это все в отдельный .sig файл.
Offline Ситдиков Денис  
#4 Оставлено : 17 мая 2019 г. 16:32:28(UTC)
Ситдиков Денис

Статус: Администратор

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

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 29 раз в 20 постах
Приведенный выше код подходит для вашего сценария.
Проверьте, что корректно заполняются значения sHashValue и previousSignData. Если все корректно, пришлите в лс значение previousSignData.
thanks 1 пользователь поблагодарил Ситдиков Денис за этот пост.
AlexDio оставлено 11.06.2019(UTC)
Offline AlexDio  
#5 Оставлено : 11 июня 2019 г. 11:22:04(UTC)
AlexDio

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

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

Сказал(а) «Спасибо»: 1 раз
Все заработало вот с таким кодом:

Код:

function CoSignHash(sSignedHash ) {
var cadesplugin = new ActiveXObject("cadescom.webclassfactory");

var oHashedData4 = cadesplugin.CreateObject("CAdESCOM.HashedData");
var s = "534CF6F93B1C377EC944F962EF6BF91A9694D691E45A7910B27A2BC855ABA6CB";
oHashedData4.SetHashValue(s);
var oSignedData2 = cadesplugin.CreateObject("CAdESCOM.CadesSignedData");
oSignedData2.VerifyHash(oHashedData4, sSignedHash, CADESCOM_CADES_BES);

var oStore = cadesplugin.CreateObject("CAdESCOM.Store");
oStore.Open(CAPICOM_CURRENT_USER_STORE, CAPICOM_MY_STORE,
CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED);

var oSigner = cadesplugin.CreateObject("CAdESCOM.CPSigner");

var sCoSignedHash = oSignedData2.CoSignHash(oHashedData4, oSigner, CADESCOM_CADES_BES);
}
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.