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

Уведомление

Icon
Error

2 Страницы<12
Опции
К последнему сообщению К первому непрочитанному
Offline kazaza  
#11 Оставлено : 28 мая 2012 г. 16:30:43(UTC)
kazaza

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

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

Cryptcp не пробовали, сейчас оценим.
http://rghost.ru/38328069 - исходный файл
http://rghost.ru/38328077 - подписанный
Offline Новожилова Елена  
#12 Оставлено : 28 мая 2012 г. 17:26:30(UTC)
Новожилова Елена

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

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

Поблагодарили: 99 раз в 95 постах
kazaza написал:
С помощью Total Commander закодировали файл в BASE64.
Подсунули этот файл в браузер с модифицированным кодом:

В браузере с созданием и проверкой подписи всё хорошо, но вот при проверке в Sharpei снова подпись не верна.


Каким образом "подсунули"? В отладчике можете посмотреть и проверить, что файл для подписи передался целиком?
Offline kazaza  
#13 Оставлено : 29 мая 2012 г. 12:25:20(UTC)
kazaza

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

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

Программно подсунули.
Проверяем сейчас в cryptcp.
Cryptcp по умолчанию формирует подпись в base64, а наша программа с использованием sharpei формирует в кодировке der. как заставить sharpei подписывать в base64?

Код:
HashAlgorithm myhash = HashAlgorithm.Create("GOST3411");
            using (fsh = new FileStream(MessageDirPath,
                FileMode.Open, FileAccess.Read, FileShare.Read))
            {
                myhash.ComputeHash(fsh);
            }
            byte[] hashValue = myhash.Hash;
            fsh.Dispose();
            FileStream fileSt = new FileStream(HashPath, FileMode.OpenOrCreate,
               FileAccess.ReadWrite, FileShare.ReadWrite);
            fileSt.Write(hashValue, 0, hashValue.Length);
            fileSt.Dispose();
            myhash.Clear();

            //Подписываем хеш
            byte[] SignedHashValue = GostFormatter.CreateSignature(hashValue);
            FileStream fileStl = new FileStream(SignatureFilePath, FileMode.OpenOrCreate,
               FileAccess.ReadWrite, FileShare.ReadWrite);
            fileStl.Write(SignedHashValue, 0, SignedHashValue.Length);
            fileStl.Dispose();
            myhash.Clear();
Offline Kirill Sobolev  
#14 Оставлено : 29 мая 2012 г. 15:52:30(UTC)
Кирилл Соболев

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

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

Поблагодарили: 177 раз в 168 постах
После подписи Convert::ToBase64String
Техническую поддержку оказываем тут
Наша база знаний
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
2 Страницы<12
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.