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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline evgen.p  
#1 Оставлено : 29 октября 2019 г. 8:17:39(UTC)
evgen.p

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

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

Сказал(а) «Спасибо»: 7 раз
Добрый день! Собираю приложение на 8 андроиде, TLS запрос проходит. Собираю на 9, валится в исключение, ниже стектрейс.


Логи с 8 андроида


Перехожу по ссылке, указанной в стектрейсе, там пишут, что нужно на новых андроидах использовать только провайдер по-умолчанию. Можете подсказать, что сделать, чтобы приложение заработало на новом андроиде?
Версия библиотеки android-csp-5.0.40424

Отредактировано пользователем 29 октября 2019 г. 11:08:47(UTC)  | Причина: Не указана

Offline Евгений Афанасьев  
#2 Оставлено : 29 октября 2019 г. 15:45:15(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 684 раз в 645 постах
Добрый день.
К сожалению, X.509 из BC убрали, значит, потребуется доработка cpSSL-android с нашей стороны.
Приносим извинения.
Пока вы можете попробовать добавить провайдер Bouncycastle в Security.addProvider наравне с JCP и т.д., например, BC 1.50 (такая версия, например, используется для CAdES.jar):
Security.addProvider(new BouncycastleProvider());
По идее, у него должна быть реализация X.509.

Отредактировано пользователем 29 октября 2019 г. 15:47:00(UTC)  | Причина: Не указана

thanks 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
evgen.p оставлено 29.10.2019(UTC)
Offline Евгений Афанасьев  
#3 Оставлено : 29 октября 2019 г. 16:00:16(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 684 раз в 645 постах
Автор: evgen.p Перейти к цитате
I/JCP: ru.CryptoPro.ssl.android.SSLContextImpl.engineInit :: SSLContextImpl initialized.

У вас контекст проинициализировался, ошибка в другом:
java.security.cert.CertPathValidatorException: Could not determine revocation status
Не удается проверить цепочку сертификатов сервера:
Код:

Caused by: java.security.cert.CertPathValidatorException: Could not determine revocation status
at sun.security.provider.certpath.PKIXMasterCertPathValidator.validate(PKIXMasterCertPathValidator.java:135)
at sun.security.provider.certpath.PKIXCertPathValidator.validate(PKIXCertPathValidator.java:222)
at sun.security.provider.certpath.PKIXCertPathValidator.validate(PKIXCertPathValidator.java:140)
at sun.security.provider.certpath.PKIXCertPathValidator.engineValidate(PKIXCertPathValidator.java:79)
at java.security.cert.CertPathValidator.validate(CertPathValidator.java:301)
at ru.CryptoPro.reprov.CPCertPathValidator.engineValidate(Unknown Source:113)
at java.security.cert.CertPathValidator.validate(CertPathValidator.java:301)
at ru.CryptoPro.ssl.android.cl_62.a(Unknown Source:305)
at ru.CryptoPro.ssl.android.cl_62.a(Unknown Source:129) 
at ru.CryptoPro.ssl.android.cl_66.checkServerTrusted(Unknown Source:21) 
at ru.CryptoPro.ssl.android.cl_47.checkServerTrusted(Unknown Source:4) 

Либо вы не задали System.setProperty("com.sun.security.enableCRLDP", "true"), либо задали, но в сертификате нет CRLDP/не доступны для скачивания CRL, либо нет доступа к сети (или сбиты часы, тогда CRL может быть просрочен).
Включите логирование, можно будет увидеть детали:
включить: adb shell setprop log.tag.JCP DEBUG
отключить: adb shell setprop log.tag.JCP INFO
Соберите лог из adb logcat и приложите.

Отредактировано пользователем 29 октября 2019 г. 16:24:28(UTC)  | Причина: Не указана

Offline evgen.p  
#4 Оставлено : 30 октября 2019 г. 7:05:20(UTC)
evgen.p

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

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

Сказал(а) «Спасибо»: 7 раз
Свойство задал. На 8 андроиде запрос проходит, сертификат предоставил Андрей Солдатов тут: https://www.cryptopro.ru...spx?g=posts&t=16964. Часы не сбиты, стоит автоустановка времени. Такое проявляется только на 9 андроиде.
Можете подсказать, где эти команды вводить? И точно это проблема на нашей стороне? Вы ранее писали, что потребуется доработка cpSSL-android с вашей стороны.
Offline Евгений Афанасьев  
#5 Оставлено : 30 октября 2019 г. 10:57:42(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 684 раз в 645 постах
Автор: evgen.p Перейти к цитате
Вы ранее писали, что потребуется доработка cpSSL-android с вашей стороны

Я посмотрел, у нас предусмотрена возможность, что X.509 не будет. По стеку ошибки, в случае android 9 ошибка в другом. Включите логирование, как описано выше, и приложите лог.
Offline evgen.p  
#6 Оставлено : 30 октября 2019 г. 13:11:59(UTC)
evgen.p

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

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

Сказал(а) «Спасибо»: 7 раз
Автор: Евгений Афанасьев Перейти к цитате
Включите логирование, можно будет увидеть детали


Прикладываю логи приложения из Logcat: logcat201910301508.log (168kb) загружен 10 раз(а).
Offline Евгений Афанасьев  
#7 Оставлено : 30 октября 2019 г. 15:27:36(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 684 раз в 645 постах
В логе:

Код:

Exception fetching CRL: http://testgost2012.cryptopro.ru/CertEnroll/!0422!0435!0441!0442!043e!0432!044b!0439%20!0423!0426%20!041e!041e!041e%20!0022!041a!0420!0418!041f!0422!041e-!041f!0420!041e!0022(1).crl  (status: -1)
2019-10-30 15:06:37.140 27470-27570/ru.artsofte.vozlkm D/JCP: ru.CryptoPro.reprov.certpath.URICertStore.engineGetCRLs :: Cleartext HTTP traffic to testgost2012.cryptopro.ru not permitted
    java.io.IOException: Cleartext HTTP traffic to testgost2012.cryptopro.ru not permitted
        at com.android.okhttp.HttpHandler$CleartextURLFilter.checkURLPermitted(HttpHandler.java:115)

Добавьте в application в Manifest.xml:
Код:

<application ... android:usesCleartextTraffic="true">

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