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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Reiji  
#1 Оставлено : 30 июня 2008 г. 21:10:25(UTC)
Reiji

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

Группы: Участники
Зарегистрирован: 19.04.2008(UTC)
Сообщений: 10
Откуда: Москва

Подскажите пожалуйста, какой парамсет функции хеширования используется по умолчанию в JCP (нужно для достижения совместимости ЭЦП сделанных в CSP и JCP)?
И объясните пожалуйста в чём ошибка. Когда просто создаём и подписываем хеш (не меняя парамсета) всё работает нормально, однако получившаяся подпись оказывается несовместима с JCP (со сделанной в самой JCP подписью всё работает, то есть проблема именно в несовместимости форматов), а если после CryptCreateHash ставим CryptSetHashParam(hHash, HP_OID,(BYTE*)OID_HashTest, 0)), то CryptSignHash почему-то начинает выбрасывать NTE_BAD_ALGID. То есть изменить парамсет неполучается... Подскажите, как добиться совместимости с JCP...

Отредактировано пользователем 30 июня 2008 г. 21:17:16(UTC)  | Причина: Не указана

Offline Русев Андрей  
#2 Оставлено : 30 июня 2008 г. 23:00:23(UTC)
Русев Андрей

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

Группы: Администраторы, Участники
Зарегистрирован: 16.04.2008(UTC)
Сообщений: 1,271

Сказал(а) «Спасибо»: 22 раз
Поблагодарили: 446 раз в 325 постах
Detached-подпись JCP имеет инверсный порядок байт по сравнению с CSP. Для встречной работы можно использовать специальный класс для совместимости:
Signature.getInstance(JCP.CRYPTOPRO_SIGN_NAME, JCP.PROVIDER_NAME);

либо переворачивать подпись самостоятельно:
byte[] sign = readFile();
sign = ru.CryptoPro.JCP.tools.Array.invByteOrderB(sign);
s = Signature.getInstance(JCP.GOST_EL_SIGN_NAME, JCP.PROVIDER_NAME);
...
s.verify(sign);


По умолчанию OID_HashTest не регистрируется при установке КриптоПро CSP, это можно сделать самостоятельно, но едва ли имеет смысл.

Отредактировано пользователем 30 июня 2008 г. 23:06:59(UTC)  | Причина: Не указана

Официальная техподдержка. Официальная база знаний.
Offline Reiji  
#3 Оставлено : 1 июля 2008 г. 19:58:02(UTC)
Reiji

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

Группы: Участники
Зарегистрирован: 19.04.2008(UTC)
Сообщений: 10
Откуда: Москва

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