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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline pattern  
#1 Оставлено : 26 мая 2015 г. 11:56:39(UTC)
pattern

Статус: Участник

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

Сказал «Спасибо»: 1 раз
Поблагодарили: 5 раз в 2 постах
Приветсвую.

Есть следующий код (точнее его сокращенная версия), с помощью которого подписывается файл по его hash-коду.
Код:
var CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME = 1;
var CADESCOM_HASH_ALGORITHM_CP_GOST_3411 = 100;
var CADESCOM_CADES_BES = 1;

function signFileHash (thumbprint, hashFile) {
  //search cert
  var oCert;
  var oStore = createObj('CAPICOM.store');
  oStore.Open();
  var oCerts = oStore.Certificates.Find(CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME, thumbprint);
  if (oCerts.Count > 0) {
    oCert = oCerts.Item(1);
  }
  oStore.Close();

  //sign
  var signedMessage;
  if (oCert) {
    var oSigner = createObj('CAdESCOM.CPSigner');
    oSigner.Certificate = oCert;

    var oHashedData = createObj('CAdESCOM.HashedData');
    oHashedData.Algorithm = CADESCOM_HASH_ALGORITHM_CP_GOST_3411;
    oHashedData.SetHashValue(hashFile);
    
    var oSignedData = createObj('CAdESCOM.CadesSignedData');
    signedMessage = oSignedData.SignHash(oHashedData, oSigner, CADESCOM_CADES_BES);
  }
  return signedMessage;
}

И соответсвенно вызов этого метода:
Код:
var signedData = signFileHash('1B7CCAC3EFF6E891715EA6698C42D713790F8ECF', '467EC504F168C4A5406211386A4B0A679C76D7D4F2604809EC57B52C84D53317');

В версии CryptoPRO 3.9.* все работало без сбоев. Проблема возникла при обновлении до версии 4.0.0-4 (OS Ubuntu 15.04). А именно, при вызове
Код:
signedMessage = oSignedData.SignHash(oHashedData, oSigner, CADESCOM_CADES_BES);

в консоли браузера выскакивает ошибка
Код:
Error: Error calling method on NPObject!
signedMessage = oSignedData.SignHash(oHashedData, oSigner, CADESCOM_CADES_BES);

Есть все основания полагать, что у этого метода изменился API, но как теперь его вызывать я нигде не нашел.
Помогите разобратсья с проблемой.
Offline pattern  
#2 Оставлено : 29 мая 2015 г. 10:43:54(UTC)
pattern

Статус: Участник

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

Сказал «Спасибо»: 1 раз
Поблагодарили: 5 раз в 2 постах
Ребята, хелп. Теперь я вообще перестал что либо понимать.
Решил откатить CSP до версии 3.9, чтобы хоть как то работало. Но теперь перестала подпись работать и на версии 3.9.
Что сделано не так?

Отредактировано пользователем 29 мая 2015 г. 10:44:45(UTC)  | Причина: Не указана

Offline pattern  
#3 Оставлено : 29 мая 2015 г. 11:25:57(UTC)
pattern

Статус: Участник

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

Сказал «Спасибо»: 1 раз
Поблагодарили: 5 раз в 2 постах
Упс, прошу прощения я за ложный вызов. =)
В ходе экспериментов случайно поменял входящие параметры местами, поэтому и не работало.
С версией 3.9 все прекрасно работает.
Offline cross  
#4 Оставлено : 1 июня 2015 г. 10:50:12(UTC)
Анатолий Беляев

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

Группы: Администраторы, Участники
Зарегистрирован: 24.11.2009(UTC)
Сообщений: 965
Откуда: Crypto-Pro

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 174 раз в 152 постах
Лицензия на CSP 4.0 была валидной?
Техническую поддержку оказываем тут.
Наша база знаний.
Наша страничка в Instagram.
Offline pattern  
#5 Оставлено : 1 июня 2015 г. 11:36:06(UTC)
pattern

Статус: Участник

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

Сказал «Спасибо»: 1 раз
Поблагодарили: 5 раз в 2 постах
Сейчас затрудняюсь ответить на этот вопрос, так как сделал откат с версии 4.0 на 3.9. Могу сказать одно, что используется один и тот же код, один и тот же сертификат и даже проверялся один и тот же файл. Другими словами, при одинаковых условиях, на версии 3.9 работает без проблем, на версии 4.0 происходит сбой на выше приведенном участке кода.
Конечно же, напрашивает сам собой дополнительный вопрос "А что пишется в логах?". Были бы логи, я бы возможно попытался разобраться и сам или предоставить больше информаци. Но увы и ах, в логах пусто в обоих случаях.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (3)
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.