【发布时间】:2017-03-23 22:23:09
【问题描述】:
我正在尝试使用来自本地(开发环境)AEM 5.6.1 的 HTTPS 进行第三方 SOAP 服务调用。 SOAP 服务接受具有最低 TLS 协议 TLSv1.1 的请求。 我有使用 JDK7 的 AEM 5.6.1,而对于 JDK7,则使用默认的 TLSv1。 达到最低可接受的 TLS。我尝试了以下两种方法:
方法一:
使 AEM 以 -Dhttps.protocols=TLSv1.2 开头
方法 2: 更新 SSLContext 以更新 TLS。
SSLContext context = null;
try {
context = SSLContext.getInstance("TLSv1.2");
context.init(null, null, new java.security.SecureRandom());
SSLContext.setDefault(context);
LOGGER.info("Currecnt TLS:" + SSLContext.getDefault().getProtocol());
}catch (Exception e){
LOGGER.error("Error while updating TLS:",e);
}
第一个不起作用,但另一个将 AEM 的 TLS 协议更新为 TLSv1.2。
但我仍然无法访问该服务。错误依旧。
错误:
The required TLS connection level has not been met. SSL Protocol level: TLSv1
参考:
我想知道两件事,
- 我错过了阻止正确 TLS 更新的任何内容。
- 有没有办法只为这个特定的服务更新 TLS,而不是全局更改它。
谢谢
【问题讨论】:
-
请贴出错误信息和连接对方的代码
-
@Raffaele 我已经用错误更新了描述。但这是来自第三方服务的自定义错误。
-
这还不够。我们需要看看 HTTP 库是如何被调用的。完整的堆栈跟踪将有助于了解如何配置堆栈
标签: java soap aem tls1.2 java-security