Форум КриптоПро
»
Средства криптографической защиты информации
»
Android
»
Android SDK 5.0.51837 - ошибка выполнения контроля целостности
Статус: Активный участник
Группы: Участники
Зарегистрирован: 03.05.2012(UTC) Сообщений: 176 Откуда: Екатеринбург
Сказал(а) «Спасибо»: 48 раз Поблагодарили: 23 раз в 19 постах
|
Добрый день. Ситуация следующая- под Android 15 инициализация возвращает код CSPConfig.CSP_INIT_INVALID_INTEGRITY. Проверено на двух устройствах. При этом- под Android 13 работает. Откатился на 5.0.49010 - работает у всех. Чего может не хватать?
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,072  Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 741 раз в 698 постах
|
Добрый день. Не работает в release? Скорее всего, дело в отсутствии заполненного файла dexdigests - файла с хэшами dex-файлов приложения, которые должны быть посчитаны после сборки приложения. Файл dexdigests должен лежать в raw-ресурсах или assets/digests папке приложения. В случае debug сборки файл dexdigests не требуется. Описание можно найти тут: https://docs.cryptopro.r.../cbrpm/integrity_controlВ общий раздел тоже добавим. Файл имеет структуру из пар ключ=значение вида classes[i].dex=hash, где хэш (hash) i-файла classes посчитан на алгоритме ГОСТ 34.11-2012 (256). Подсчет можно произвести после сборки release apk/aab с последующими подписью и выравниванием (порядок может различаться). В предыдущих версиях пустой файл dexdigests входил в состав SDK, проверка была отключена по умолчанию, а теперь файл требуется заполнять для release. В adb logcat должны быть сообщения. |
|
 2 пользователей поблагодарили Евгений Афанасьев за этот пост.
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 03.05.2012(UTC) Сообщений: 176 Откуда: Екатеринбург
Сказал(а) «Спасибо»: 48 раз Поблагодарили: 23 раз в 19 постах
|
Да, release. Прочитал инструкцию, все сделал, заработало, спасибо!
|
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 15.10.2025(UTC) Сообщений: 5  Сказал(а) «Спасибо»: 2 раз
|
Добрый день. А можете рассказать подробней, что предполагается сделать, и можно ли от этого отказаться. Мы используем данные библиотеки не напрямую, а оборачивая ее в свою библиотеку. Т.к. наше приложение написано для Xamarin под С# По сути мы создаем в AndroidStudio свою aar библиотеку с некоторыми классами для проброса методов. Создаем сразу под release. Дополнительную сложность добавляет, что эта библиотека используется для создания нескольких приложений. И нам достаточно сложно будет на этапе после сборки (причем и при дебаге разработчиками) разобрать apk перед его установкой на устройство для тестирования. Скрипт который будет это выполнять автоматически как в gradle написать возможно, но достаточно проблематично по времени/вложению. Отредактировано пользователем 22 октября 2025 г. 11:40:30(UTC)
| Причина: Расписал подробней проблему
|
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 15.10.2025(UTC) Сообщений: 5  Сказал(а) «Спасибо»: 2 раз
|
А идеальным вариантом было бы наличие скрипта(примера скрипта) для выполнения этой операции, для автоматической встройки в проект. Например через sh
|
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 15.10.2025(UTC) Сообщений: 5  Сказал(а) «Спасибо»: 2 раз
|
Добрый день. Требуется очередная помощь После внедрения механизма формирования dexdigests - файла с хэшами dex-файлов. Все равно осталось проблема получения ошибки CSPConfig.CSP_INIT_INVALID_INTEGRITY Integrity control failureВ logcat висит ошибка: Код: ru.CryptoPro.JCSP.JavaConfigLayer$1InitLoggerHolder$1.error :: Integrity error.
java.lang.NoClassDefFoundError: Failed resolution of: Lru/cprocsp/base/R$raw;
at ru.cprocsp.ACSP.tools.integrity.ACSPIntegrity.isDexIntegrityControlEnabled(ACSPIntegrity.java:238)
at ru.cprocsp.ACSP.tools.integrity.ACSPIntegrity.<init>(ACSPIntegrity.java:169)
at ru.CryptoPro.JCSP.CSPConfig.prepareIntegrity(CSPConfig.java:181)
at ru.CryptoPro.JCSP.NCSPConfig.internalInit(NCSPConfig.java:309)
at ru.CryptoPro.JCSP.CSPConfigBase.init(CSPConfigBase.java:49)
at ru.CryptoPro.JCSP.CSPConfig.init(CSPConfig.java:73)
at ru.CryptoPro.JCSP.CSPConfig.init(CSPConfig.java:60)
at com.npocomputer.croptoprolib.CryptoProAdapter.<init>(CryptoProAdapter.java:40)
Caused by: java.lang.ClassNotFoundException: Didn't find class "ru.cprocsp.base.R$raw" on path: DexPathList[[zip file "/data/app/~~rmqVn9U38qLr1AKQjh_jcg==/ru.directum.solo-zN0tMkYW8hKdOqniwIWZNQ==/base.apk"],nativeLibraryDi
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:259)
at java.lang.ClassLoader.loadClass(ClassLoader.java:637)
at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
at ru.cprocsp.ACSP.tools.integrity.ACSPIntegrity.isDexIntegrityControlEnabled(ACSPIntegrity.java:238)
at ru.cprocsp.ACSP.tools.integrity.ACSPIntegrity.<init>(ACSPIntegrity.java:169)
at ru.CryptoPro.JCSP.CSPConfig.prepareIntegrity(CSPConfig.java:181)
at ru.CryptoPro.JCSP.NCSPConfig.internalInit(NCSPConfig.java:309)
at ru.CryptoPro.JCSP.CSPConfigBase.init(CSPConfigBase.java:49)
at ru.CryptoPro.JCSP.CSPConfig.init(CSPConfig.java:73)
at ru.CryptoPro.JCSP.CSPConfig.init(CSPConfig.java:60)
Судя по ошибке библиотека ищет raw файл не по тому пути. При вызове CSPConfig.init передается верный контекст приложения. Для понимания наших процессов: Наше приложение написано под Xamarin на С# для адаптации был использован механизм встраивания ваших jar файлов в общую библиотеку и формировании одного aar файла, из которого формируется nuget библиотека и встраивается в приложение. Для автоматизации процесса формирования dexdigests - файла используется скрипт встроенный в этапы сборки. Скрипт приложил  win_program_checksum_android_apk.bat (4kb) загружен 1 раз(а)..
|
|
|
|
|
|
Форум КриптоПро
»
Средства криптографической защиты информации
»
Android
»
Android SDK 5.0.51837 - ошибка выполнения контроля целостности
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close