в конфигурации extfile

я обновил Java с 1.8.161 до 1.8.181, я не могу подключиться к LDAP из своего приложения, я получаю исключение ниже, когда пытаюсь войти в приложение с пользователем, который активен в LDAP.

javax.naming.CommunicationException:: [Исключением корня является javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: не найдено альтернативных имен субъектов, соответствующих IP-адресу]

Я нашел нижезаметки о выпуске на сайте Oracle для версии 1.8.181

изменения

core-libs / javax.naming ➜ Улучшение поддержки LDAP. Идентификация конечной точки была включена в соединениях LDAPS.

Для повышения надежности соединений LDAPS (защищенный LDAP через TLS) алгоритмы идентификации конечных точек были включены по умолчанию.

Обратите внимание, что могут быть ситуации, когда некоторые приложения, которые ранее могли успешно подключаться к серверу LDAPS, могут больше не делать этого. Такие приложения могут, если сочтут это целесообразным, отключить идентификацию конечной точки, используя новое системное свойство:com.sun.jndi.ldap.object.disableEndpointIdentification.

Определите это системное свойство (или установите для него значение true), чтобы отключить алгоритмы идентификации конечной точки.

Я попытался установить для свойства значение true, как показано ниже, наряду с другими свойствами. Но все равно он выдает ту же ошибку.

Hashtable env = new Hashtable();
    env.put(Context.INITIAL_CONTEXT_FACTORY, ctxFactory);
    env.put(Context.PROVIDER_URL, providerUrl);
    env.put(Context.SECURITY_PRINCIPAL, secPrincipal);
    env.put(Context.SECURITY_AUTHENTICATION, secAuthentication);
    env.put(Context.SECURITY_CREDENTIALS, secCredentials);
   env.put("com.sun.jndi.ldap.object.disableEndpointIdentification" ,disableEndpointIdentification);
    DirContext ldapCtx = new InitialDirContext(env);

Нужна ваша помощь, как и где именно нам нужно установить недвижимостьcom.sun.jndi.ldap.object.disableEndpointIdentification к истине.

В контекстном интерфейсе такой постоянной строковой переменной тоже нет.

Если я вернусь обратно к версии Java 1.8.161, она будет работать нормально.

Ответы на вопрос(1)

Ваш ответ на вопрос