Невозможно соединить Netapp (8.1.4P1 7-Mode) с jdk1.8.0_181

У нас ниже настройки безопасности на стороне хранилища (8.1.4P1 7-Mode)

Конфигурации

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

Мы попытались получить доступ к хранилищу с помощью NetApp Manageability SDK 5.7, и он отлично работает с jdk1.8.0_161.

Мы обновляем 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)

Согласно примечаниям к выпуску jdk "jdk1.8.0_181", JDK 181 отключил "комплекты шифров 3DES".

Есть ли способ исправить это со стороны NetApp?

1 ответ

Хотя это и не ответ на прямой вопрос о том, как решить эту проблему со стороны NetApp, проблему можно решить на стороне приложения, удалив "3DES_EDE_CBC" из свойства безопасности jdk.tls.disabledAlgorithms во время выполнения. Что-то вроде:

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);
Другие вопросы по тегам