From 7369ecc8296a0329e424596ff71c60629add3ce2 Mon Sep 17 00:00:00 2001
From: neil_a_wilson <neil_a_wilson@localhost>
Date: Wed, 21 Feb 2007 19:44:18 +0000
Subject: [PATCH] Redesign the server to support multiple key manager providers, trust manager providers, and certificate mappers, and update the components which need access to those elements so that they can specify which one they want to use.  Among other things, this will provide the ability to use different certificates for different listeners, and provide template configuration entries that make it easier for users to enable SSL and/or StartTLS.

---
 opends/tests/unit-tests-testng/src/server/org/opends/server/protocols/jmx/JmxConnectTest.java |   41 +++++++++++++++--------------------------
 1 files changed, 15 insertions(+), 26 deletions(-)

diff --git a/opends/tests/unit-tests-testng/src/server/org/opends/server/protocols/jmx/JmxConnectTest.java b/opends/tests/unit-tests-testng/src/server/org/opends/server/protocols/jmx/JmxConnectTest.java
index 7005fb3..53cb488 100644
--- a/opends/tests/unit-tests-testng/src/server/org/opends/server/protocols/jmx/JmxConnectTest.java
+++ b/opends/tests/unit-tests-testng/src/server/org/opends/server/protocols/jmx/JmxConnectTest.java
@@ -39,6 +39,7 @@
 import java.util.Set;
 
 import javax.management.Attribute;
+import javax.management.AttributeNotFoundException;
 import javax.management.MBeanServerConnection;
 import javax.management.ObjectName;
 import javax.net.ssl.TrustManager;
@@ -356,31 +357,10 @@
   @Test(enabled=true)
   public void sslConnect() throws Exception
   {
-    // configure the JMX ssl key manager
-    ConfigEntry config = new ConfigEntry(TestCaseUtils.makeEntry(
-        "dn: cn=Key Manager Provider,cn=JMX Connection Handler,cn=Connection Handlers,cn=config",
-        "objectClass: top",
-        "objectClass: ds-cfg-key-manager-provider",
-        "objectClass: ds-cfg-file-based-key-manager-provider",
-        "ds-cfg-key-manager-provider-class: org.opends.server.extensions.FileBasedKeyManagerProvider",
-        "ds-cfg-key-manager-provider-enabled: true",
-        "ds-cfg-key-store-file: " + getJmxKeystorePath(),
-        "ds-cfg-key-store-type: JKS",
-        "ds-cfg-key-store-pin: password"
-         ), null);
-
-    JmxConnectionHandler jmxConnectionHandler = getJmxConnectionHandler();
-    assertNotNull(jmxConnectionHandler);
-    StringBuilder reason = new StringBuilder();
-    assertTrue(jmxConnectionHandler.configAddIsAcceptable(config, reason));
-    ConfigChangeResult result =
-      jmxConnectionHandler.applyConfigurationAdd(config);
-    assertEquals(ResultCode.SUCCESS, result.getResultCode());
-
     // Enable SSL by setting ds-cfg-use-ssl boolean and the
     // certificate alias using ds-cfg-ssl-cert-nickname attribute.
     int initJmxPort = (int) TestCaseUtils.getServerJmxPort();
-    config = new ConfigEntry(TestCaseUtils.makeEntry(
+    ConfigEntry config = new ConfigEntry(TestCaseUtils.makeEntry(
         "dn: cn=JMX Connection Handler,cn=Connection Handlers,cn=config",
         "objectClass: top",
         "objectClass: ds-cfg-connection-handler",
@@ -390,6 +370,7 @@
         "ds-cfg-connection-handler-enabled: true",
         "ds-cfg-use-ssl: true",
         "ds-cfg-listen-port: " + initJmxPort ,
+        "ds-cfg-key-manager-provider-dn: cn=JKS,cn=Key Manager Providers,cn=config",
         "cn: JMX Connection Handler"
          ), null);
 
@@ -610,11 +591,19 @@
   {
     String jmxName = JMXMBean.getJmxName(DN.decode(dn));
     ObjectName name = ObjectName.getInstance(jmxName);
-    Attribute status = (Attribute) mbsc.getAttribute(name, attributeName);
-    if (status == null)
+
+    try
+    {
+      Attribute status = (Attribute) mbsc.getAttribute(name, attributeName);
+      if (status == null)
+        return null;
+      else
+        return status.getValue();
+    }
+    catch (AttributeNotFoundException anfe)
+    {
       return null;
-    else
-      return status.getValue();
+    }
   }
 
   /**

--
Gitblit v1.10.0