Статус: Участник
Группы: Участники
Зарегистрирован: 29.09.2015(UTC) Сообщений: 17 Откуда: Ижевск Сказал(а) «Спасибо»: 3 раз
|
Есть ли какие-то обновления по данному вопросу? Какую ещё дополнительную информацию мы можем предоставить для анализа? Сейчас из-за этой проблемы у клиента блокируется работа в нашем приложении.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,963 Откуда: Крипто-Про Сказал(а) «Спасибо»: 20 раз Поблагодарили: 704 раз в 665 постах
|
Автор: Ranzed Есть ли какие-то обновления по данному вопросу? Какую ещё дополнительную информацию мы можем предоставить для анализа? Сейчас из-за этой проблемы у клиента блокируется работа в нашем приложении. Подобную ошибку мы встречали один раз, в случае Knox: при отсутствии имени провайдера в конструкции вида Signature.getInstance jvm использует некую свою реализацию (TimaSignatureSHA1RSA) по умолчанию, которая, естественно, ГОСТ не знает. Указанный выше стек ошибки относится к Автор: Ranzed Трейс ошибки тот же самый. Воспроизводится на планшете Samsung с Android 11. Защищенный контейнер Knox не используется.
? Клиент ничего не напутал и использует ваше приложение с корректным Signature.getInstance? Если в коде действительно верно задан Signature.getInstance и правильно определяется алгоритм подписи с помощью getSignatureInstanceAlgName (именно ГОСТ по certificate), то: 1. выведите список провайдеров с помощью: Код:
Provider[] providers = Security.getProviders();
for (Provider provider : providers) {
System.out.println("%% PROVIDER: " + provider.getName() + ", info = " + provider.getInfo());
Set<Provider.Service> services = provider.getServices();
Iterator<Provider.Service> iterator = services.iterator();
while (iterator.hasNext()) {
Provider.Service service = iterator.next();
System.out.println("\t * algorithm = " + service.getAlgorithm() + ", class = " + service.getClassName());
} // while
} // for
2. Дайте детальное описание устройства. 3. Приложите весь лог в том числе до появления стека ошибки, возможно, выше по логу будет еще какая-то информация. 4. Выведите провайдер из Signature в коде п.1 до signature.initSign: Цитата: Signature signature = Signature.getInstance(signAlg, JCSP.PROVIDER_NAME); Provider p = signature.getProvider(); // <-- распечатать Provider signature.initSign(privateKey);
Отредактировано пользователем 5 октября 2021 г. 14:42:06(UTC)
| Причина: Не указана |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close