мое приложение не работает с самоподписанным SSL в Android <5 - PullRequest
0 голосов
/ 13 декабря 2018

Я использую retrofit2:

public static Retrofit getClient() {
    if (retrofit == null) {

        retrofit = new Retrofit.Builder()
            .baseUrl(BASE_URL)
            .addConverterFactory(GsonConverterFactory.create())
            .build();
    }

    return retrofit;
}

Мой сайт ssl является самоподписанным ssl: https://pccloob.ir. Как я могу решить эту проблему:

В Android 4.0 нет ошибокв LogCat или запустить, но в Android 4.4 - Ошибка HandShake.

Я перепробовал все предложения от stackoverflow и Интернета, но ничего не работает.

1 Ответ

0 голосов
/ 16 декабря 2018

SSL-сертификаты от letsencrypt.org совместимы с Android >= v2.3.6.

. Хитрость заключается в SSL/TLS конфигурации протокола виртуального хоста:

SSLProtocol all -SSLv3 -TLSv1.1 -TLSv1
SSLHonorCipherOrder on

certbot может не конфигурировать эти шифры по умолчанию, поскольку:

  • POODLE (заполнение Oracle при пониженном шифровании прежних версий) влияет на некоторые TLS 1.0 и 1.1.
  • BEAST (эксплойт браузера против SSL / TLS) влияет на все TLS 1.0.

, поэтому у вас есть выбор между обратной совместимостью и предложением небезопасных шифров.

ssllabs.com может сообщить F вместо A, когда сервер уязвим.

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