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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline baboshin  
#1 Оставлено : 31 июля 2020 г. 12:43:20(UTC)
baboshin

Статус: Новичок

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

Доброго времени суток. Ситуация такая, что мне нужно подписать хэш.
Для этого я увидел два пути:
1. Получить список контейнеров в HDIMAGE, загруженных в ACSP, найти там нужный и подписать самому через JCA.
Но как я понял это нельзя сделать, т.к. никак не обратиться к файлам ACSP (ибо список алиасов пустой, хотя через приложение добавлены тестовые сертификаты)

Код:
KeyStore keyStore = KeyStore.getInstance(JCSP.HD_STORE_NAME, JCSP.PROVIDER_NAME);
keyStore.load(null, null);


2. Через интенты. Тогда получается:

Код:
intent.putExtra("data", hash)


И, как я понимаю, скорей всего, произойдет хэширование хэша.
Есть ли в экстра свойство отключающее хэширование, чтобы передать в интент что-то типа NoneWithGost
Offline Евгений Афанасьев  
#2 Оставлено : 1 августа 2020 г. 18:24:52(UTC)
Евгений Афанасьев

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

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,963
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 704 раз в 665 постах
Здравствуйте.
Все, что находится в ACSP, доступно только этому приложению. Приведенный вами код загрузит ключевые контейнеры в вашем приложении, не в ACSP.
Интенты имею очень ограниченный функционал. Подпись хеша проще реализовать в своем приложении.
Offline baboshin  
#3 Оставлено : 4 августа 2020 г. 15:20:51(UTC)
baboshin

Статус: Новичок

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

Тогда в своем приложении, где в таком случае брать ключи?
Offline Евгений Афанасьев  
#4 Оставлено : 4 августа 2020 г. 17:12:25(UTC)
Евгений Афанасьев

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

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,963
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 704 раз в 665 постах
С помощью:
Код:

KeyStore keyStore = KeyStore.getInstance(JCSP.HD_STORE_NAME, JCSP.PROVIDER_NAME);
keyStore.load(null, null);

будут перечислены контейнеры в вашем приложении. Но предварительно нужно добавить в ваше приложение jar-файлы, выполнить в коде инициализацию провайдера и др. действия для создания в папке приложения иерархии CSP и т.п.
Пример ACSPClientApp с библиотеками и примерами находится в дистрибутиве, инициализация (загрузка CSP с помощью CSPConfig.init, добавление провайдеров и.т.д.) есть в MainActivity в onCreate, а задание текущей активити - в onResume. Пример ACSPClientApp предполагает, что в качестве провайдера CSP будет использован отдельно стоящий ACSP, а в вашем приложении будут только jar-файлы. В дистрибутиве рядом с примерами есть документация.
Но можно добавить весь провайдер CSP целиком к себе приложение. Для этого есть пример ACSPinClientApp, в котором есть те же jar-файлы + нативные библиотеки провайдера + конфиг и лицензия (SDK). В таком случае ACSP уже не нужен.
В любом из этих случаев контейнеры по умолчанию находятся в вашем приложении (кроме случая отделяемых носителей типа рутокена).
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.