Я пишу HTTPS-сканер, который должен сканировать различные типы серверов.
При попытке получить следующую страницу: https://admin.cachefly.com/ips/rproxy.txt
Использование ванили OkHttpClient
Я получил:
javax.net.ssl.SSLHandshakeException: сервер выбрал TLSv1, но эта версия протокола не включена или не поддерживается клиентом.
Затем я создал клиентвот так:
ConnectionSpec spec = new ConnectionSpec.Builder(ConnectionSpec.COMPATIBLE_TLS)
.build();
client = new OkHttpClient.Builder()
.connectionSpecs(Collections.singletonList(spec))
.build();
И это решило мою проблему.
Мой вопрос:
Это то, что нужно для успешного общения с любым HTTPS сервер?Как насчет allEnabledTlsVersions()
и allEnabledCipherSuites()
?Это нужно?(или что-нибудь еще)