Форум КриптоПро
»
Средства криптографической защиты информации
»
Android
»
Как получить список контейнеров и в интенте подписи указать, что хэширование не требуется
Статус: Новичок
Группы: Участники
Зарегистрирован: 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
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,963 Откуда: Крипто-Про Сказал(а) «Спасибо»: 20 раз Поблагодарили: 704 раз в 665 постах
|
Здравствуйте. Все, что находится в ACSP, доступно только этому приложению. Приведенный вами код загрузит ключевые контейнеры в вашем приложении, не в ACSP. Интенты имею очень ограниченный функционал. Подпись хеша проще реализовать в своем приложении. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 31.07.2020(UTC) Сообщений: 9
|
Тогда в своем приложении, где в таком случае брать ключи?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 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 уже не нужен. В любом из этих случаев контейнеры по умолчанию находятся в вашем приложении (кроме случая отделяемых носителей типа рутокена). |
|
|
|
|
Форум КриптоПро
»
Средства криптографической защиты информации
»
Android
»
Как получить список контейнеров и в интенте подписи указать, что хэширование не требуется
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close