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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline m.dundukov  
#1 Оставлено : 3 июля 2025 г. 17:43:52(UTC)
m.dundukov

Статус: Участник

Группы: Участники
Зарегистрирован: 08.09.2022(UTC)
Сообщений: 15
Российская Федерация
Откуда: Ярославль

Сказал(а) «Спасибо»: 8 раз
Поблагодарили: 1 раз в 1 постах
Доброго дня!

После обновления версии флаттера, градла до версии 8.7 и градл файлов появилась следующая ошибка:
Цитата:
I/flutter (21934): javax.net.ssl.SSLHandshakeException: Read error: ssl=0xb40000733ee13c48: Failure in SSL library, usually a protocol error
I/flutter (21934): error:10000410:SSL routines:OPENSSL_internal:SSLV3_ALERT_HANDSHAKE_FAILURE (external/boringssl/src/ssl/tls_record.cc:592 0xb40000730d6d85c0:0x00000003)
I/flutter (21934): error:1000009a:SSL routines:OPENSSL_internal:HANDSHAKE_FAILURE_ON_CLIENT_HELLO (external/boringssl/src/ssl/handshake.cc:644 0x73c7a52803:0x00000000)


Со своей стороны я предпринял ряд шагов по устранению ошибки, изучив полностью документацию на сайте. Шаги:
1. maven { url 'https://plugins.gradle.org/m2/'
allowInsecureProtocol = true }
2. shrinkResources false в release buildTypes
3. android.enableResourceOptimizations=false в gradle.properties

Ни один из шагов не дал успеха для корректной работы крипты со стороны клиента в релиз моде. Отмечу, что профайл и дебаг моды работают корректно без исключений. Для более точной информации прилагаю logcat с ошибкой в релизной версии
D_done mCurrStatus_ 0.txt (13kb) загружен 2 раз(а).

Отредактировано пользователем 3 июля 2025 г. 17:46:48(UTC)  | Причина: Не указана

Offline m.dundukov  
#2 Оставлено : 16 июля 2025 г. 13:43:05(UTC)
m.dundukov

Статус: Участник

Группы: Участники
Зарегистрирован: 08.09.2022(UTC)
Сообщений: 15
Российская Федерация
Откуда: Ярославль

Сказал(а) «Спасибо»: 8 раз
Поблагодарили: 1 раз в 1 постах
Я обновил библиотеки для работы с криптопро, следуя примеру с сайта. К сожалению, проблема не исчезла. Но я узнал точную причину проблемы. При инициализации конфига криптопро бесконечно летит ошибка "Couldn't store native library path to config.". Я перепробовал множество различных вариантов решения проблемы, но в релизе ошибка не уходит
Offline Евгений Афанасьев  
#3 Оставлено : 16 июля 2025 г. 19:38:49(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 733 раз в 691 постах
Здравствуйте.
Проверьте, что gradle не использует java с установленным туда JCP и cpSSL.
Offline m.dundukov  
#4 Оставлено : 17 июля 2025 г. 11:08:11(UTC)
m.dundukov

Статус: Участник

Группы: Участники
Зарегистрирован: 08.09.2022(UTC)
Сообщений: 15
Российская Федерация
Откуда: Ярославль

Сказал(а) «Спасибо»: 8 раз
Поблагодарили: 1 раз в 1 постах
Автор: Евгений Афанасьев Перейти к цитате
Здравствуйте.
Проверьте, что gradle не использует java с установленным туда JCP и cpSSL.


Доброго дня! Спасибо за ответ. А можете подсказать, пожалуйста, как проверить?

upd: Только сейчас заметил, что под вашим комментарием ссылки указаны, проверю, отпишу

Отредактировано пользователем 17 июля 2025 г. 15:47:25(UTC)  | Причина: Не указана

Offline m.dundukov  
#5 Оставлено : 4 сентября 2025 г. 17:40:18(UTC)
m.dundukov

Статус: Участник

Группы: Участники
Зарегистрирован: 08.09.2022(UTC)
Сообщений: 15
Российская Федерация
Откуда: Ярославль

Сказал(а) «Спасибо»: 8 раз
Поблагодарили: 1 раз в 1 постах
Автор: Евгений Афанасьев Перейти к цитате
Здравствуйте.
Проверьте, что gradle не использует java с установленным туда JCP и cpSSL.


Доброго дня! Проверил, все корректно.

Также углубился сам с проверками, что могло сломаться + изучил подробно все наши прошлые темы. По итогу сейчас возник стопор на след. ошибках от криптографии и точно так же в релиз-моде.

Ошибки:

Цитата:
java.security.NoSuchProviderException: no such provider: JTLS
2025-09-04 15:11:03.232 2947-2992 System.err ru.gov.mser W at sun.security.jca.GetInstance.getService(GetInstance.java:83)
2025-09-04 15:11:03.232 2947-2992 System.err ru.gov.mser W at sun.security.jca.GetInstance.getInstance(GetInstance.java:206)
2025-09-04 15:11:03.232 2947-2992 System.err ru.gov.mser W at javax.net.ssl.SSLContext.getInstance(SSLContext.java:243)
2025-09-04 15:11:03.232 2947-2992 System.err ru.gov.mser W at Y1.g$a.a(SourceFile:5)
2025-09-04 15:11:03.232 2947-2992 System.err ru.gov.mser W at Y1.g$a.invoke(SourceFile:1)
2025-09-04 15:11:03.232 2947-2992 System.err ru.gov.mser W at kotlin.SynchronizedLazyImpl.getValue(Unknown Source:20)
2025-09-04 15:11:03.232 2947-2992 System.err ru.gov.mser W at Y1.g.h(SourceFile:3)
2025-09-04 15:11:03.232 2947-2992 System.err ru.gov.mser W at Y1.g.a(SourceFile:1)
2025-09-04 15:11:03.232 2947-2992 System.err ru.gov.mser W at Y1.g$b.a(SourceFile:3)
2025-09-04 15:11:03.232 2947-2992 System.err ru.gov.mser W at Y1.g$b.invoke(SourceFile:1)
2025-09-04 15:11:03.232 2947-2992 System.err ru.gov.mser W at kotlin.SynchronizedLazyImpl.getValue(Unknown Source:20)
2025-09-04 15:11:03.232 2947-2992 System.err ru.gov.mser W at Y1.g.i(SourceFile:3)
2025-09-04 15:11:03.232 2947-2992 System.err ru.gov.mser W at Y1.e.m(SourceFile:40)
2025-09-04 15:11:03.232 2947-2992 System.err ru.gov.mser W at Y1.e.f(SourceFile:1)
2025-09-04 15:11:03.232 2947-2992 System.err ru.gov.mser W at Y1.e$b.invokeSuspend(SourceFile:36)
2025-09-04 15:11:03.232 2947-2992 System.err ru.gov.mser W at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(Unknown Source:11)
2025-09-04 15:11:03.232 2947-2992 System.err ru.gov.mser W at q1.P.run(SourceFile:93)
2025-09-04 15:11:03.232 2947-2992 System.err ru.gov.mser W at x1.a.H(SourceFile:1)
2025-09-04 15:11:03.232 2947-2992 System.err ru.gov.mser W at x1.a$c.d(SourceFile:15)
2025-09-04 15:11:03.232 2947-2992 System.err ru.gov.mser W at x1.a$c.p(SourceFile:29)
2025-09-04 15:11:03.232 2947-2992 System.err ru.gov.mser W at x1.a$c.run(SourceFile:1)



и также

Цитата:
ru.CryptoPro.JCSP.CSPConfig.internalInit :: Provider P1.g could not be instantiated: java.lang.InstantiationException: java.lang.Class<P1.g> cannot be instantiated
java.lang.IllegalArgumentException: Provider P1.g could not be instantiated: java.lang.InstantiationException: java.lang.Class<P1.g> cannot be instantiated
at P1.l.a(SourceFile:46)
at P1.g.a(SourceFile:3)
at P1.g.b(SourceFile:1)
at O1.h.D(SourceFile:5)
at O1.h.C(SourceFile:14)
at O1.m.<init>(SourceFile:2)
at ru.cprocsp.ACSP.tools.config.IniFile.load(Unknown Source:9)
at ru.cprocsp.ACSP.tools.config.AbstractFile.load(SourceFile:1)
at ru.cprocsp.ACSP.tools.config.IniFile.<init>(SourceFile:2)
at ru.cprocsp.ACSP.tools.config.Config.<init>(Unknown Source:0)
at ru.CryptoPro.JCSP.CSPConfig.internalInit(Unknown Source:158)
at ru.CryptoPro.JCSP.CSPConfig.initEx(Unknown Source:14)
at ru.gov.mser.MainActivity.z(SourceFile:1)
at ru.gov.mser.MainActivity.s(SourceFile:1)
at W1.e.onMethodCall(SourceFile:1)


К сожалению, у меня у самого не получилось устранить данные проблемы. Не могли бы вы, пожалуйста, подсказать, в какую сторону именно копать?

Upd: Ввиду того, что проблема возникает с вероятностью 0.99 при билде релизной апк, приложу также настройки билда для релиза из gradle файла.

Цитата:
splits {
abi {
reset()
enable false
universalApk true
include "arm64-v8a", "x86_64", "x86"
}
}

signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
storePassword keystoreProperties['storePassword']
}
}

buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled true
shrinkResources false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

ndk {
abiFilters "arm64-v8a", "x86_64", "x86"
}
}
}


Также отмечу, что в манифесте xml выставлен android:extractNativeLibs="true"

Отредактировано пользователем 4 сентября 2025 г. 20:22:08(UTC)  | Причина: Не указана

Offline m.dundukov  
#6 Оставлено : 9 сентября 2025 г. 17:19:23(UTC)
m.dundukov

Статус: Участник

Группы: Участники
Зарегистрирован: 08.09.2022(UTC)
Сообщений: 15
Российская Федерация
Откуда: Ярославль

Сказал(а) «Спасибо»: 8 раз
Поблагодарили: 1 раз в 1 постах
И также, если вам несложно, можете, пожалуйста, приложить в ответе библиотеку для создания защищенного соединения с помощью КриптоПро на C++. Просто, с каждым новый обновлением, что-то со стороны нативного андроида начинает ломаться ввиду чего появилось острое желание написать свой собственный модуль, который бы был универсальным, как для андроид, так и для айос.

Отредактировано пользователем 9 сентября 2025 г. 17:19:57(UTC)  | Причина: Не указана

RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.