Wie deaktivieren Sie die Endpunkt-Identifikation für die java-version 1.8.181

Wenn ich java aktualisiert von 1.8.161 zu 1.8.181, ich bin nicht in der Lage, eine Verbindung zu LDAP aus meiner Bewerbung,
ich unter-Ausnahme, wenn ich versuche auf login zu Anwendung mit einem Benutzer, der aktiv ist, im LDAP.

javax.die Benennung.CommunicationException: : [Root exception
javax.net.ssl.SSLHandshakeException: java.Sicherheit.cert.CertificateException:
Kein Thema alternative Namen passende IP-Adresse gefunden]

Fand ich die unten release notes auf der Oracle-Website für die version 1.8.181

Änderungen

core-libs/javax.Benennung
➜ Verbesserung der LDAP-Unterstützung
Endpunkt-Identifikation aktiviert (LDAPS verbindungen.

Zur Verbesserung der Robustheit von SSL (secure LDAP über TLS ) - verbindungen, Endpunkt-Identifikation
algorithmen wurden standardmäßig aktiviert.

Beachten Sie, dass es möglicherweise Situationen, in denen einige Anwendungen, die zuvor erfolgreich verbinden können
für eine LDAPS-server nicht mehr in der Lage sein, dies zu tun.
Solche Anwendungen können, wenn Sie es für angemessen halten, deaktivieren Sie die Endpunkt-Identifikation mit einem
neue system-Eigenschaft: com.sun.jndi.ldap.object.disableEndpointIdentification.

Definieren dieses system Eigenschaft (oder setzen Sie es auf true), um deaktivieren Sie die Endpunkt-Identifikation algorithmen.


Ich habe versucht die Eigenschaft auf true gesetzt, wie weiter unten zusammen mit anderen Eigenschaften. Aber trotzdem wirft es die gleichen Fehler.

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);

Brauchen Ihre Hilfe, wie und wo genau brauchen wir, um die Eigenschaft
com.sun.jndi.ldap.object.disableEndpointIdentification zu wahren.

Gibt es keine solche Konstante String-variable im Zusammenhang mit dieser in Zusammenhang steht, Schnittstelle zu.

Wenn ich wieder auf java 1.8.161 version funktioniert es einwandfrei.

  • vielleicht können Sie versuchen -Dcom.sun.jndi.ldap.object.disableEndpointIdentification=true im java starten Sie die Anwendung command line? Weil doc sagt über die Anwendung system-Eigenschaft und nicht über Ldap-Kontext-Umgebung...
  • Wunderbare Vadim!!. Vielen Dank für die Erinnerung über den kleinen Punkt, dass ich verpasst.Ja, fügte ich in der Eclipse-VM argurments und so gut wie in der JBOSS-Server-standalone.bat-Datei ====>set "JAVA_OPTS=%JAVA_OPTS% -Dcom.Sonne.jndi.ldap.Objekt.disableEndpointIdentification=true"
InformationsquelleAutor Aravind | 2018-07-20
Schreibe einen Kommentar