简体   繁体   English

无法将Netapp(8.1.4P1 7-模式)与jdk1.8.0_181连接

[英]Unable to connect Netapp (8.1.4P1 7-Mode) with jdk1.8.0_181

We have below security configuration at storage side (8.1.4P1 7-Mode) 我们在存储侧具有以下安全配置(8.1.4P1 7模式)

Configurations 配置

tls.enable on
ssl.enable on
ssl.v2.enable off
ssl.v3.enable off

We tried to access storage using NetApp Manageability SDK 5.7 and it is working fine with jdk1.8.0_161. 我们尝试使用NetApp Manageability SDK 5.7访问存储,并且与jdk1.8.0_161一起正常工作。

We upgrade JDK to jdk1.8.0_181 and then we are not able to access it, Its throwing Exception 我们将JDK升级到jdk1.8.0_181,然后我们无法访问它,它的抛出异常

`2018-08-03 05:06:27,071 [Thread-1469] app-ERROR-javax.net.ssl.SSLException: Connection has been shutdown: `javax.net.ssl.SSLHandshakeException`: Received fatal alert: handshake_failure at` `sun.security.ssl.SSLSocketImpl.checkEOF(SSLSocketImpl.java:1551)`

    at sun.security.ssl.AppInputStream.read(AppInputStream.java:95)

    at sun.security.ssl.AppInputStream.read(AppInputStream.java:71)

    at netapp.manage.http.HTTPMessage.readLine(HTTPMessage.java:245)

    at netapp.manage.http.HTTPResponse.read(HTTPResponse.java:74)

    at netapp.manage.http.HTTPClient.doRequest(HTTPClient.java:772)

    at netapp.manage.NaServer.invokeHTTP(NaServer.java:955)

As per release notes of jdk "jdk1.8.0_181", JDK 181 disabled "3DES cipher suites". 根据jdk“ jdk1.8.0_181”的发行说明,JDK 181禁用了“ 3DES密码套件”。

Is there any way to fix it from NetApp side ? 有什么方法可以从NetApp方面进行修复?

While not an answer to the direct question of how to solve this from the NetApp side, the problem can be overcome on the application side by removing "3DES_EDE_CBC" from the jdk.tls.disabledAlgorithms security property at runtime. 尽管不能从NetApp方面直接回答如何解决此问题,但可以通过在运行时从jdk.tls.disabledAlgorithms安全属性中删除“ 3DES_EDE_CBC”来解决该问题。 Something like: 就像是:

final String JDK_TLS_DISABLED_ALGORITHMS = "jdk.tls.disabledAlgorithms";
final String TRIPLE_DES_EDE_CBC = "3DES_EDE_CBC";
final String disabledAlgorithms = Splitter.on(',').trimResults()
        .splitToList(Security.getProperty(JDK_TLS_DISABLED_ALGORITHMS)).stream()
        .filter(algo -> !algo.equals(TRIPLE_DES_EDE_CBC)).collect(joining(", "));
Security.setProperty(JDK_TLS_DISABLED_ALGORITHMS, disabledAlgorithms);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM