HERE 地理编码 API 休息服务支持哪些密码?



我们目前正在使用 java 7,但无法从这里连接到地理编码 API。

在我们的应用程序中进行测试时,我们收到如下错误:Received fatal alert: handshake_failure

我们请求的网址:https://geocoder.ls.hereapi.com/6.2/geocode.json?apiKey={API-KEY}&searchtext=NYC,+USA

在 Postman 中运行相同的请求可以无缝工作。 同样,在备用 java 8 工作区中运行请求的代码。请求返回预期的响应。

我们假设原因是在使用 java 7 时客户端和服务器之间不存在匹配的密码。

HERE支持团队是否知道类似的问题? 有没有一个好的解决方法,而不必升级到 jdk1.8?

与 HERE API 的 HTTP 连接通过 TLSv1.2 加密协议利用,因为 TLSv1.0 和 TLSv1.1 具有已知的安全漏洞。 在 jdk1.8 中,SSLContext 已经默认设置为 TLSv1.2,因此它可以工作(与 jdk1.7 不同,如果传递 -Djavax.net.debug=all 参数,您可以看到握手信息(。

对于 Java 7,您需要在 java 代码中初始化 https 连接之前将 SSLContext 设置为 TLSv1.2:

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

此外,您还可以更新无限强度 Java(TM( 加密 Java(TM( 平台的扩展 (JCE( 策略文件,标准 版本 (Java SE( 运行时环境 7 - 此捆绑包提供不包含 对加密强度的限制。

最新更新