Auswirkungen von put("java.naming.ldap.factory.socket") auf SSLServerSocketFactor()

StehtimSchilf

Erfahrenes Mitglied
Hi Forum

Ich erweitere unsere Appli mit SSL-Funktionalität, was bis anhin wie gewünscht funktioniert.

Nun hat es im Code noch ein Überbleibsel um auf SLDAP zugreifen zu können:

Code:
if (Config.sldap == true) {
	// SSL
	env.put("java.naming.ldap.factory.socket", "javax.net.ssl.SSLSocketFactory");
	env.put("java.naming.ldap.version", "3");
	env.put(Context.SECURITY_PROTOCOL, "ssl");

	System.setProperty("javax.net.ssl.trustStore", Config.keyTrustStore);
	System.setProperty("javax.net.ssl.trustStoreType", "jks");
}

Nun beisst sich jedoch dieses Stückchen Code mit folgendem, welches ich für SSL-Events verwende:

Code:
System.setProperty("javax.net.ssl.keyStore", AdminDaten.keyTrustStore);
System.setProperty("javax.net.ssl.keyStorePassword", AdminDaten.keyTrustStorePassword);

SSLServerSocketFactory sslserversocketfactory = (SSLServerSocketFactory) SSLServerSocketFactory.getDefault();

try {
   sslss = (SSLServerSocket) sslserversocketfactory.createServerSocket(port);
   sslss.setSoTimeout(1000); // Damit mal überprüft werden kann, ob der Thread beendet werden soll.
   client = sslss.accept();
   ...

Erster wurde/wird verwendet um eine SLDAP-Verbindung herstellen zu können. Lass ich nun SLDAP zu, erhalte ich bei sslss.accept() jedoch immer folgende Exception:
No available certificate or key corresponds to the SSL cipher suites which are enabled.

Ohne erstem Code, funktioniert alles. Meine Frage daher: Wieso beisst sich erster Code mit letzterem?

Wenn ich folgende drei Zeilen aus ersterem Schippsel kommentiere:
Code:
//env.put("java.naming.ldap.factory.socket", "javax.net.ssl.SSLSocketFactory");
//env.put("java.naming.ldap.version", "3");
//System.setProperty("javax.net.ssl.trustStoreType", "jks");

funktioniert SLDAP wie auch SSL über meine definierten Ports.
Was bewirken diese 3 Zeilen genau?

cheeroh & frohe Ostern
SiS
 

Neue Beiträge

Zurück