Статус: Участник
Группы: Участники
Зарегистрирован: 23.08.2018(UTC) Сообщений: 29
Сказал(а) «Спасибо»: 9 раз Поблагодарили: 1 раз в 1 постах
|
Здравствуйте, возникла необходимость работы с КриптоПРО CSP на Android.
Для начала решил установить приложение "КриптоПРО CSP" - потыкать, понять что к чему. На декстопе экспортировал контейнер с закрытым ключом (из вариантов только формат PKCS#12 ".PFX"). При попытке на Android устройстве выполнить функцию "скопировать ключевой контейнер" - файл в окне проводника не виден и загрузить не получается.
Так понимаю проблема с форматом ".PFX". Но тогда вопрос - каким образом переносить контейнер с закрытым ключом?
З.Ы. Пробовал этот же контейнер загрузить в КриптоАРМ ГОСТ - там все получилось. Знаю это другая компания, но там тоже КриптоПРО CSP используется.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 12.03.2019(UTC) Сообщений: 332 Откуда: Москва Сказал «Спасибо»: 5 раз Поблагодарили: 70 раз в 66 постах
|
Добрый день. Вам нужно выгрузить и перенести на Android-устройство ключевой контейнер в виде папки с 6-ью файлами *.key Затем - выполнить копирование в КриптоПро CSP, указав данную папку. |
|
1 пользователь поблагодарил Андрей Солдатов за этот пост.
|
dorogo оставлено 13.04.2020(UTC)
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 23.08.2018(UTC) Сообщений: 29
Сказал(а) «Спасибо»: 9 раз Поблагодарили: 1 раз в 1 постах
|
Большое спасибо, все получилось.
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 23.08.2018(UTC) Сообщений: 29
Сказал(а) «Спасибо»: 9 раз Поблагодарили: 1 раз в 1 постах
|
Возник еще вопрос. Чтобы не плодить темы напишу сюда.
Такая ситуация: на девайс установил КриптоПро CSP, сертификаты и контейнер установил. Из своего приложения вызываю Activity подписи. Все открыватся, подпись создается, возвращается в виде результата в мое приложение, где я сохраняю файл подписи.
после того, как скинул получившиеся файлы подписи на ПК, решил проверить через КриптоАРМ и обнаружил следующее: - присоединенная подпись: отображается как верная, сертификаты и цепочка тоже. Все ОК. - отсоединенная подпись: отображает как "Подпись недействительно". По кнопке печать в открывшемся документе "Статус - Общий статус подписи - Одна или несколько подписей некорректна или нет доверия Статус проверки математической корректности - Одна или несколько подписей некорректна или нет доверия"
Подписываю на ПК через КриптоАРМ тот же файл - все нормально. После открытия ASN1 viewer-ом файлов отсоединенной подписи, созданных на ПК и Android сравнил их - отличаются только последние строки, и то, возможно только потому, что в подпись на ПК добавлено "время создания подписи".
Все действия производил на эмуляторе из Android Studio.
- может быть проблема из-за эмулятора? - трабла по идее в том, что файл "считывается" по разному на Android и на ПК - соответственно при отсоединенной подписи "разные" данные и ошибка, а при присоединенной - то что подписано - внутри файла подписи. Однако на ПК исходный файл присоединенной подписи открывается корректно.
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 23.08.2018(UTC) Сообщений: 29
Сказал(а) «Спасибо»: 9 раз Поблагодарили: 1 раз в 1 постах
|
Разобрался. Все работает верно - это я в коде накосячил. Но возник теперь другой вопрос. Из своего приложения я вызываю intent криптопро CSP для подписи. Правильно я понимаю, что никаких вариантов добавить время создания подписи при подписании через Intent нет? В руководстве "How_to_build_android_example.docx" в пункте 4 про Intetn-ы сказано Цитата:Параметры, которые можно передавать этим activity, есть и используются в примерах в классе ACSPIntentActivity. Если же разработчику необходимо создать свой собственный интерфейс, то следует обратиться к примерам ниже. Вопрос по поводу "необходимо создать свой собственный интерфейс". Это имеется ввиду, что в этом случае надо создавать собственное приложение, в которое включено sdk криптопро, и там уже обращаться к функционалу? Но в таком случае, мне придется также добавлять функционал загрузки ключевого контейнера, паролей и т.д. и делать подпись с необходимыми параметрами, так? Отредактировано пользователем 14 апреля 2020 г. 2:13:35(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,962 Откуда: Крипто-Про Сказал(а) «Спасибо»: 20 раз Поблагодарили: 704 раз в 665 постах
|
Добрый день. Вопрос: никаких вариантов добавить время создания подписи при подписании через Intent нет? Ответ: Intent'ы были добавлены в качестве эксперимента, что-то вроде высокоуровневого API, чтобы 1) разработчику в вызывающем приложении использовать меньше кода для популярных операций 2) не работать с java-провайдерами и т.д. в вызывающем приложении 3) держать ключевые контейнеры в одном месте вне клиентского приложения, т.е. в ACSP. Но intent'ы ограничены в возможностях, тут лишь некий базовый функционал. Он будет развиваться и дорабатываться, но не сразу. Вопрос: по поводу "необходимо создать свой собственный интерфейс". Это имеется ввиду, что в этом случае надо создавать собственное приложение, в которое включено sdk криптопро, и там уже обращаться к функционалу? Но в таком случае, мне придется также добавлять функционал загрузки ключевого контейнера, паролей и т.д. и делать подпись с необходимыми параметрами, так? Ответ: полное SDK добавлять необязательно в свое приложение, но код писать придется. SDK сейчас включает so-библиотеки провайдера (которые по умолчанию находятся в ACSP.apk),ресурсы к нему (raw) и jar-файлы java-провайдеров и др. Если добавить полное SDK с ресурсами и т.д. в свое приложение, то получится приложение с встроенным провайдером (как ACSP) и ACSP станет не нужен. Другой вариант - добавить только jar-файлы к себе, тогда ACSP (c so-библиотеками) по-прежнему нужен, но лишь как приложение, предоставляющее нативный провайдер и для ввода лицензии. В обоих случаях потребуется писать код: для работы с контейнерами, подписью и т.д., смотря что требуется. Необходимые примеры есть в ACSPClientApp. В случае с включением полного SDK еще потребуется организовать ввод лицензии CSP. Отредактировано пользователем 16 апреля 2020 г. 9:55:57(UTC)
| Причина: Не указана |
|
1 пользователь поблагодарил Евгений Афанасьев за этот пост.
|
dorogo оставлено 20.04.2020(UTC)
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 23.08.2018(UTC) Сообщений: 29
Сказал(а) «Спасибо»: 9 раз Поблагодарили: 1 раз в 1 постах
|
Большое спасибо за разъяснения!
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close