From be1eaff9cecb3ff1947346c7e0feab3a41fe2328 Mon Sep 17 00:00:00 2001 From: Robert Gemmell Date: Fri, 12 Apr 2013 16:16:09 +0000 Subject: QPID-4739: complete support for defining multiple key/trust stores and assigning them on a port-specific basis git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1467334 13f79535-47bb-0310-9956-ffa450edef68 --- .../server/management/plugin/HttpManagement.java | 5 +- .../java/resources/addAuthenticationProvider.html | 10 +- .../src/main/java/resources/addBinding.html | 5 +- .../src/main/java/resources/addExchange.html | 5 +- .../src/main/java/resources/addPort.html | 51 +++-- .../src/main/java/resources/addQueue.html | 8 +- .../src/main/java/resources/addVirtualHost.html | 3 +- .../src/main/java/resources/index.html | 1 + .../src/main/java/resources/js/qpid/common/util.js | 74 ++++--- .../java/resources/js/qpid/management/Broker.js | 161 +++++++------- .../java/resources/js/qpid/management/KeyStore.js | 160 ++++++++++++++ .../resources/js/qpid/management/TrustStore.js | 160 ++++++++++++++ .../qpid/management/addAuthenticationProvider.js | 2 +- .../resources/js/qpid/management/addKeystore.js | 164 +++++++++++++++ .../java/resources/js/qpid/management/addPort.js | 232 +++++++++++++++------ .../resources/js/qpid/management/controller.js | 6 +- .../java/resources/js/qpid/management/treeView.js | 5 +- .../src/main/java/resources/showBroker.html | 26 ++- .../src/main/java/resources/showKeyStore.html | 47 +++++ .../src/main/java/resources/showTrustStore.html | 47 +++++ .../qpid/server/jmx/JMXManagedObjectRegistry.java | 53 +++-- .../server/jmx/QpidSslRMIServerSocketFactory.java | 85 ++++++++ 22 files changed, 1064 insertions(+), 246 deletions(-) create mode 100644 java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/KeyStore.js create mode 100644 java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/TrustStore.js create mode 100644 java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addKeystore.js create mode 100644 java/broker-plugins/management-http/src/main/java/resources/showKeyStore.html create mode 100644 java/broker-plugins/management-http/src/main/java/resources/showTrustStore.html create mode 100644 java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/QpidSslRMIServerSocketFactory.java (limited to 'java/broker-plugins') diff --git a/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java b/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java index 2f51e30b57..3cc382596a 100644 --- a/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java +++ b/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java @@ -62,6 +62,7 @@ import org.apache.qpid.server.model.Protocol; import org.apache.qpid.server.model.Queue; import org.apache.qpid.server.model.Session; import org.apache.qpid.server.model.State; +import org.apache.qpid.server.model.TrustStore; import org.apache.qpid.server.model.User; import org.apache.qpid.server.model.VirtualHost; import org.apache.qpid.server.model.adapter.AbstractPluginAdapter; @@ -240,7 +241,7 @@ public class HttpManagement extends AbstractPluginAdapter implements HttpManagem } else if (protocols.contains(Protocol.HTTPS)) { - KeyStore keyStore = _broker.getDefaultKeyStore(); + KeyStore keyStore = port.getKeyStore(); if (keyStore == null) { throw new IllegalConfigurationException("Key store is not configured. Cannot start management on HTTPS port without keystore"); @@ -290,6 +291,8 @@ public class HttpManagement extends AbstractPluginAdapter implements HttpManagem addRestServlet(root, "binding", VirtualHost.class, Exchange.class, Queue.class, Binding.class); addRestServlet(root, "port", Port.class); addRestServlet(root, "session", VirtualHost.class, Connection.class, Session.class); + addRestServlet(root, "keystore", KeyStore.class); + addRestServlet(root, "truststore", TrustStore.class); root.addServlet(new ServletHolder(new StructureServlet()), "/rest/structure"); root.addServlet(new ServletHolder(new MessageServlet()), "/rest/message/*"); diff --git a/java/broker-plugins/management-http/src/main/java/resources/addAuthenticationProvider.html b/java/broker-plugins/management-http/src/main/java/resources/addAuthenticationProvider.html index 90dd1f1090..f4846ac556 100644 --- a/java/broker-plugins/management-http/src/main/java/resources/addAuthenticationProvider.html +++ b/java/broker-plugins/management-http/src/main/java/resources/addAuthenticationProvider.html @@ -15,15 +15,16 @@ ~ limitations under the License. -->
-
+
+
- + - + @@ -31,8 +32,11 @@
Type*:Type*:
Name*:Name*:
+
+
+
diff --git a/java/broker-plugins/management-http/src/main/java/resources/addBinding.html b/java/broker-plugins/management-http/src/main/java/resources/addBinding.html index 8dbd219c8d..9aebca90d7 100644 --- a/java/broker-plugins/management-http/src/main/java/resources/addBinding.html +++ b/java/broker-plugins/management-http/src/main/java/resources/addBinding.html @@ -32,11 +32,10 @@ dojoType="dijit.form.ValidationTextBox" missingMessage="A name must be supplied" /> -
- +
- +
diff --git a/java/broker-plugins/management-http/src/main/java/resources/addExchange.html b/java/broker-plugins/management-http/src/main/java/resources/addExchange.html index 4a59cd2cbc..8c9968e37a 100644 --- a/java/broker-plugins/management-http/src/main/java/resources/addExchange.html +++ b/java/broker-plugins/management-http/src/main/java/resources/addExchange.html @@ -44,11 +44,10 @@ -
- +
- +
diff --git a/java/broker-plugins/management-http/src/main/java/resources/addPort.html b/java/broker-plugins/management-http/src/main/java/resources/addPort.html index c37b879bd5..391783c6d8 100644 --- a/java/broker-plugins/management-http/src/main/java/resources/addPort.html +++ b/java/broker-plugins/management-http/src/main/java/resources/addPort.html @@ -19,9 +19,9 @@ - -->
-
+
-
+
- -
-
- - -
+ dojoType="dijit.form.CheckBox" data-dojo-props="label: 'Support default protocols:'"/>
+
+ +
+
+ +
+
+
+ + +
+
Trust Stores:
+ + + + + + + +
NamePeers Only
+
diff --git a/java/broker-plugins/management-http/src/main/java/resources/addQueue.html b/java/broker-plugins/management-http/src/main/java/resources/addQueue.html index 950809d5fc..90a0af7ea9 100644 --- a/java/broker-plugins/management-http/src/main/java/resources/addQueue.html +++ b/java/broker-plugins/management-http/src/main/java/resources/addQueue.html @@ -19,8 +19,9 @@ - -->
-
+
+
@@ -173,10 +174,11 @@
Queue Name*:
-
+
+
- +
diff --git a/java/broker-plugins/management-http/src/main/java/resources/addVirtualHost.html b/java/broker-plugins/management-http/src/main/java/resources/addVirtualHost.html index 9b492ef26d..43281f600d 100644 --- a/java/broker-plugins/management-http/src/main/java/resources/addVirtualHost.html +++ b/java/broker-plugins/management-http/src/main/java/resources/addVirtualHost.html @@ -62,10 +62,11 @@
-
+
+
diff --git a/java/broker-plugins/management-http/src/main/java/resources/index.html b/java/broker-plugins/management-http/src/main/java/resources/index.html index a9cb580103..c4fbe77b08 100644 --- a/java/broker-plugins/management-http/src/main/java/resources/index.html +++ b/java/broker-plugins/management-http/src/main/java/resources/index.html @@ -24,6 +24,7 @@ +