diff --git a/src/java/org/jivesoftware/multiplexer/net/NIOConnection.java b/src/java/org/jivesoftware/multiplexer/net/NIOConnection.java index 00271b8..eded686 100644 --- a/src/java/org/jivesoftware/multiplexer/net/NIOConnection.java +++ b/src/java/org/jivesoftware/multiplexer/net/NIOConnection.java @@ -318,7 +318,8 @@ tm = new TrustManager[]{new ServerTrustManager(remoteServer, ksTrust)}; } - SSLContext tlsContext = SSLContext.getInstance("TLS"); + String algorithm = JiveGlobals.getXMLProperty("xmpp.socket.ssl.algorithm", "TLS"); + SSLContext tlsContext = SSLContext.getInstance(algorithm); tlsContext.init(km, tm, null); diff --git a/src/java/org/jivesoftware/multiplexer/net/TLSWrapper.java b/src/java/org/jivesoftware/multiplexer/net/TLSWrapper.java index 92d6450..1e10278 100644 --- a/src/java/org/jivesoftware/multiplexer/net/TLSWrapper.java +++ b/src/java/org/jivesoftware/multiplexer/net/TLSWrapper.java @@ -20,6 +20,7 @@ package org.jivesoftware.multiplexer.net; +import org.jivesoftware.util.JiveGlobals; import org.jivesoftware.util.Log; import javax.net.ssl.*; @@ -57,8 +58,6 @@ */ private static boolean debug = false; - private static final String PROTOCOL = "TLS"; - private SSLEngine tlsEngine; private SSLEngineResult tlsEngineResult; @@ -71,6 +70,8 @@ System.setProperty("javax.net.debug", "all"); } + String algorithm = JiveGlobals.getXMLProperty("xmpp.socket.ssl.algorithm", "TLS"); + // Create/initialize the SSLContext with key material try { // First initialize the key and trust material. @@ -90,7 +91,7 @@ tm = new TrustManager[]{new ServerTrustManager(remoteServer, ksTrust)}; } - SSLContext tlsContext = SSLContext.getInstance(PROTOCOL); + SSLContext tlsContext = SSLContext.getInstance(algorithm); tlsContext.init(km, tm, null); @@ -110,7 +111,7 @@ } catch (KeyManagementException e) { Log.error("TLSHandler startup problem.\n" + " SSLContext initialisation failed.", e); } catch (NoSuchAlgorithmException e) { - Log.error("TLSHandler startup problem.\n" + " The " + PROTOCOL + " does not exist", e); + Log.error("TLSHandler startup problem.\n" + " The " + algorithm + " does not exist", e); } catch (IOException e) { Log.error("TLSHandler startup problem.\n" + " the KeyStore or TrustStore does not exist", e);