Какие шифры поддерживаются для сервиса HERE geocode api rest? - PullRequest
0 голосов
/ 14 января 2020

В настоящее время мы используем java 7 и у нас возникли проблемы с подключением к API геокода из ЗДЕСЬ.

При тестировании в нашем приложении мы получаем следующее сообщение: Received fatal alert: handshake_failure

URL, который мы запрашиваем: https://geocoder.ls.hereapi.com/6.2/geocode.json?apiKey={API-KEY}&searchtext=NYC,+USA

Выполнение одного и того же запроса в Postman работает без проблем. Аналогичным образом выполняется код запроса в альтернативном рабочем пространстве java 8. Запрос возвращает ожидаемый ответ.

Мы предполагаем, что причина в том, что между клиентом и сервером не существует подходящих шифров при использовании java 7.

Знает ли команда поддержки HERE о проблемах, аналогичных это? Есть ли хороший обходной путь без обновления до jdk1.8?

1 Ответ

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

HTTP-соединение с HERE API использует криптографический протокол TLSv1.2 c, поскольку TLSv1.0 и TLSv1.1 имеют известные уязвимости безопасности. В jdk1.8 SSLContext уже был установлен в TLSv1.2 по умолчанию, поэтому он работает (в отличие от jdk1.7, вы можете увидеть информацию о рукопожатии, если передаете параметр -Djavax. net .debug = all).

Для java 7 вам необходимо установить SSLContext на TLSv1.2 перед https-соединением для инициализации в вашем java коде:

SSLContext sslCtx = SSLContext.getInstance("TLSv1.2");
sslCtx.init(null,null,null);
SSLContext.setDefault(sslCtx);

Дополнительно вы можете обновить Неограниченную силу Java (TM) Файлы политик расширения криптографии (JCE) для платформы среды выполнения Java (TM), Standard Edition (Java SE) 7 - этот пакет предоставляет файлы политик "неограниченной силы", которые не содержат ограничения на криптографию c сильные стороны.

...