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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Jacobian  
#1 Оставлено : 27 марта 2016 г. 22:28:48(UTC)
Jacobian

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

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

Сказал(а) «Спасибо»: 4 раз
Добрый день! Столкнулся со следующей проблемой - при проверке открепленной подписи с помощью csptest.exe получаю сообщение об ошибке: "Detached signature was NOT verified... Неправильное значение хеша". Прихожу к этой ошибке в результате следующей серии шагов:

1. Имеем исходный файл input.txt с таким содержимым: "somestring"
2. Получаем гостовский хеш файла. На стороне сервера делал это с помощью функции hash_file в PHP, которая вернула следующее значение: "5ed5fe405f6872d23fb71ce21321bcb514e1fe59bdd9f21e3bc1d3fe3c48d758". Для контроля попробовал создать этот хеш с помощью апи веб-плагина и получил следующее значение: "5ED5FE405F6872D23FB71CE21321BCB514E1FE59BDD9F21E3BC1D3FE3C48D758". То есть, судя по всему хеш у нас верный.
3. Подписываю этот хеш с помощью веб-плагина. Код выглядит следующим образом:

Код:


    var oSigner = ObjCreator('CAdESCOM.CPSigner');
    var oSignedData = ObjCreator("CAdESCOM.CadesSignedData");
    oSignedData.Content = hash; // тот самый хеш 5ed5fe405f6872d23fb71ce21321bcb514e1fe59bdd9f21e3bc1d3fe3c48d758
    oSigner.Options = 1;
    oSigner.Certificate = getCertificateByThumbprint(thumbprint);
    var Signature = oSignedData.SignCades(oSigner, CADESCOM_CADES_BES, true, CAPICOM_ENCODE_BASE64);



4. Сохраняю содержимое переменной Signature в output.txt (MIIUTwYJKoZIhvcNAQcCoIIUQDCCFDw........) и перехожу к проверке в csptest:

Код:


> csptest.exe -sfsign -verify -detached -base64 -in input.txt -signature output.txt -my "E = ...моя почта..."

...

Enter certificate number:

3 // нахожу свой сертификат и указываю корректный индекс

...



И в самом конце получаю ошибку, о которой говорил ранее. Буду признателен любому совету. Спасибо!

PS. Если проверить указанную подпись с помощью утилиты ViPNet CryptoFile, то получаю следующий отчет:

Цитата:


ЭП: НЕ ВЕРНА

Время подписи: 27.03.16 21:47

Статус сертификата: ДЕЙСТВИТЕЛЕН

Сведения о сертификате

Кому выдан: ####

Кем выдан: ####

Серийный номер: ####

Действителен с: 19.11.15 13:56

Действителен по: 19.11.16 14:54


Если сформировать подпись с помощью csptest.exe:

Код:


> csptest.exe -sfsign -sign -detached -base64 -in input.txt -out output.txt -my "E = ...моя почта..."



то полученная подпись оказывается гораздо короче первоначальной, полученной с помощью плагина. Данная подпись проходит проверку csptest.exe, но в ViPNet CryptoFile отчет получается еще хуже:


Цитата:

ЭП: НЕ ВЕРНА

Время подписи: 27.03.16 22:25


и в графе "Статус сертификата" значится "Ошибка".

Отредактировано пользователем 27 марта 2016 г. 22:43:28(UTC)  | Причина: Не указана

Offline Максим Коллегин  
#2 Оставлено : 27 марта 2016 г. 22:51:07(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,377
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 32 раз
Поблагодарили: 706 раз в 614 постах
Подписанный хэш - это не совсем detached подпись. При наличии подписанных атрибутов хэш будет одним из них, иначе он используется только при подписи и не попадает в сообщение.
Посмотрите вот этот пример: Создание и проверка отделенной подписи по хэш-значению данных
Знания в базе знаний, поддержка в техподдержке
thanks 1 пользователь поблагодарил Максим Коллегин за этот пост.
Jacobian оставлено 27.03.2016(UTC)
Offline Jacobian  
#3 Оставлено : 27 марта 2016 г. 23:25:20(UTC)
Jacobian

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

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

Сказал(а) «Спасибо»: 4 раз
Благодарю! Ваш совет помог решить проблему. Все работает!
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.