Приложение отклонено Google Play из-за менеджера доверия http - PullRequest
0 голосов
/ 14 января 2020

Я могу собрать релиз apk и при тестировании все работает нормально. Однако, когда я загружаю его в Play Store, он отклоняется из-за некоторых вредоносных действий.

Код ServerConnection:

HostnameVerifier hostnameVerifier = org.apache.http.conn.ssl.SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER;
DefaultHttpClient client = new DefaultHttpClient();

SchemeRegistry registry = new SchemeRegistry();
SSLSocketFactory socketFactory = SSLSocketFactory.getSocketFactory();
socketFactory.setHostnameVerifier((X509HostnameVerifier) hostnameVerifier);
registry.register(new Scheme("https", socketFactory, 443));
SingleClientConnManager mgr = new SingleClientConnManager(client.getParams(), registry);
DefaultHttpClient httpClient = new DefaultHttpClient(mgr, client.getParams());

// Set verifier
HttpsURLConnection.setDefaultHostnameVerifier(hostnameVerifier);

build.gradle:

implementation 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'

Сообщение об ошибке отклонения Google Play:

The app uses software that contains security vulnerabilities for users or allows the collections of user data without proper disclosure.

Ответы [ 2 ]

0 голосов
/ 15 января 2020

Ваш код отключает проверку имени хоста SSL, которая, цитируя статью Справочного центра , связанную на вашем снимке экрана,

игнорирует все ошибки проверки сертификата SSL при установлении соединения HTTPS на удаленный хост, тем самым делая ваше приложение уязвимым для атак «человек посередине». Злоумышленник может прочитать переданные данные (например, учетные данные для входа в систему) и даже изменить данные, передаваемые по HTTPS-соединению.

Это уязвимость безопасности - как отметил CommonsWare, вы должны удалить весь код в ваш вопрос. Если вы делаете это, потому что ранее вы получали ошибки проверки SSL, здесь - это некоторые распространенные проблемы с проверкой SSL с информацией о том, как их исправить.

0 голосов
/ 14 января 2020

Попробуйте найти «TrustManager» в ваших кодах, если ни один не найден, в большинстве случаев это происходит из-за сторонних библиотек.

Может быть из-за использования более старой версии любого библиотека в твоем учебнике

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...