From c23917777969507c46cde8393e935c622c474a42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arnaud=20Cogolu=C3=A8gnes?= Date: Tue, 5 Sep 2017 14:53:58 +0200 Subject: [PATCH 1/2] Don't blindly overwrite SSLContext when specifying URI ConnectionFactory#setUri always set up the default SSLContext when a secured AMQP URI is passed in. Now, it only does so if the sslContext property hasn't been set yet. Fixes #297 --- src/main/java/com/rabbitmq/client/ConnectionFactory.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/rabbitmq/client/ConnectionFactory.java b/src/main/java/com/rabbitmq/client/ConnectionFactory.java index b5130edbd5..19bbf436cc 100644 --- a/src/main/java/com/rabbitmq/client/ConnectionFactory.java +++ b/src/main/java/com/rabbitmq/client/ConnectionFactory.java @@ -226,7 +226,10 @@ public void setUri(URI uri) // nothing special to do } else if ("amqps".equals(uri.getScheme().toLowerCase())) { setPort(DEFAULT_AMQP_OVER_SSL_PORT); - useSslProtocol(); + // SSL context not set yet, we use the default one + if (this.sslContext != null) { + useSslProtocol(); + } } else { throw new IllegalArgumentException("Wrong scheme in AMQP URI: " + uri.getScheme()); From 1ccadd22f644dd8b54fe3c59dbd4b46d4811f53e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arnaud=20Cogolu=C3=A8gnes?= Date: Tue, 5 Sep 2017 15:51:31 +0200 Subject: [PATCH 2/2] Change condition to check SSLContext The other way around :-) References #297 --- src/main/java/com/rabbitmq/client/ConnectionFactory.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/rabbitmq/client/ConnectionFactory.java b/src/main/java/com/rabbitmq/client/ConnectionFactory.java index 19bbf436cc..2f32452dcd 100644 --- a/src/main/java/com/rabbitmq/client/ConnectionFactory.java +++ b/src/main/java/com/rabbitmq/client/ConnectionFactory.java @@ -227,7 +227,7 @@ public void setUri(URI uri) } else if ("amqps".equals(uri.getScheme().toLowerCase())) { setPort(DEFAULT_AMQP_OVER_SSL_PORT); // SSL context not set yet, we use the default one - if (this.sslContext != null) { + if (this.sslContext == null) { useSslProtocol(); } } else {