From: <gla...@hy...> - 2010-02-05 19:42:44
|
Author: glaullon Date: 2010-02-05 11:42:35 -0800 (Fri, 05 Feb 2010) New Revision: 14258 URL: http://svn.hyperic.org/?view=rev&root=Hyperic+HQ&revision=14258 Modified: trunk/plugins/weblogic/ trunk/plugins/weblogic/build-lib/ trunk/plugins/weblogic/etc/hq-plugin.xml trunk/plugins/weblogic/src/org/hyperic/hq/plugin/weblogic/WeblogicProductPlugin.java trunk/plugins/weblogic/src/org/hyperic/hq/plugin/weblogic/WeblogicUtil.java Log: HPD-185 Add suport for monitoring WLS 10.1/2/3 in weblogic plugin HPD-224 Support 2-way SSL for WebLogic managed servers Property changes on: trunk/plugins/weblogic ___________________________________________________________________ Name: svn:ignore + manifest.mf build weblogic-plugin.jar bin nbproject hq.properties build.xml test Property changes on: trunk/plugins/weblogic/build-lib ___________________________________________________________________ Name: svn:ignore + weblogic.jar Modified: trunk/plugins/weblogic/etc/hq-plugin.xml =================================================================== --- trunk/plugins/weblogic/etc/hq-plugin.xml 2010-02-05 18:33:41 UTC (rev 14257) +++ trunk/plugins/weblogic/etc/hq-plugin.xml 2010-02-05 19:42:35 UTC (rev 14258) @@ -1326,6 +1326,21 @@ include="9.2"> </server> + <server name="Weblogic" + version="10.1" + include="10.0"> + </server> + + <server name="Weblogic" + version="10.2" + include="10.0"> + </server> + + <server name="Weblogic" + version="10.3" + include="10.0"> + </server> + <server name="Weblogic Admin" version="10.0" include="9.2"> @@ -1333,9 +1348,39 @@ <property name="PRODUCT_DIR" value="weblogic10.0"/> </server> + <server name="Weblogic Admin" + version="10.1" + include="10.0"> + </server> + + <server name="Weblogic Admin" + version="10.2" + include="10.0"> + </server> + + <server name="Weblogic Admin" + version="10.3" + include="10.0"> + </server> + <server name="Weblogic NodeManager" version="10.0" include="9.2"> </server> + + <server name="Weblogic NodeManager" + version="10.1" + include="10.0"> + </server> + + <server name="Weblogic NodeManager" + version="10.2" + include="10.0"> + </server> + + <server name="Weblogic NodeManager" + version="10.3" + include="10.0"> + </server> </plugin> Modified: trunk/plugins/weblogic/src/org/hyperic/hq/plugin/weblogic/WeblogicProductPlugin.java =================================================================== --- trunk/plugins/weblogic/src/org/hyperic/hq/plugin/weblogic/WeblogicProductPlugin.java 2010-02-05 18:33:41 UTC (rev 14257) +++ trunk/plugins/weblogic/src/org/hyperic/hq/plugin/weblogic/WeblogicProductPlugin.java 2010-02-05 19:42:35 UTC (rev 14258) @@ -44,6 +44,11 @@ private static boolean useJAAS = true; private static boolean autoRT = false; + private static boolean ssl2ways = false; + private static String ssl2ways_cert; + private static String ssl2ways_key; + private static String ssl2ways_key_pass; + public static final String NAME = "weblogic"; public static final String SERVER_NAME = "Weblogic"; @@ -74,6 +79,22 @@ return useJAAS; } + public static boolean useSSL2Ways() { + return ssl2ways; + } + + public static String getSSL2WaysKey(){ + return ssl2ways_key; + } + + public static String getSSL2WaysCert(){ + return ssl2ways_cert; + } + + public static String getSSL2WaysKeyPass(){ + return ssl2ways_key_pass; + } + public static boolean autoRT() { return autoRT; } @@ -87,6 +108,10 @@ String auth = props.getProperty("weblogic.auth.method", "jaas").toLowerCase(); + // SSL2WAYS CERTs + ssl2ways_key=props.getProperty("weblogic.ssl2ways.key"); + ssl2ways_key_pass=props.getProperty("weblogic.ssl2ways.key.pass",""); + ssl2ways_cert=props.getProperty("weblogic.ssl2ways.cert"); //can't do jaas w/o login config final String loginConfig = "java.security.auth.login.config"; @@ -112,8 +137,10 @@ System.getProperty(loginConfig) == null) { useJAAS = false; - } - else if (! "jaas".equals(auth)) { + }else if ("ssl2ways".equals(auth)){ + useJAAS = false; + ssl2ways = true; + }else if (! "jaas".equals(auth)) { String msg = "Unsupported authentication method: " + auth; throw new IllegalArgumentException(msg); } Modified: trunk/plugins/weblogic/src/org/hyperic/hq/plugin/weblogic/WeblogicUtil.java =================================================================== --- trunk/plugins/weblogic/src/org/hyperic/hq/plugin/weblogic/WeblogicUtil.java 2010-02-05 18:33:41 UTC (rev 14257) +++ trunk/plugins/weblogic/src/org/hyperic/hq/plugin/weblogic/WeblogicUtil.java 2010-02-05 19:42:35 UTC (rev 14258) @@ -25,6 +25,10 @@ package org.hyperic.hq.plugin.weblogic; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; import java.util.HashMap; import java.util.Hashtable; import java.util.Properties; @@ -279,6 +283,20 @@ env.setSecurityCredentials(props.getProperty(WeblogicMetric.PROP_ADMIN_PASSWORD, "")); + if (WeblogicProductPlugin.useSSL2Ways()) { + if (WeblogicProductPlugin.getSSL2WaysCert() != null && WeblogicProductPlugin.getSSL2WaysKey() != null) { + try { + InputStream[] chain = new InputStream[2]; + chain[0] = new FileInputStream(new File(WeblogicProductPlugin.getSSL2WaysKey())); + chain[1] = new FileInputStream(new File(WeblogicProductPlugin.getSSL2WaysCert())); + env.setSSLClientCertificate(chain); + env.setSSLClientKeyPassword(WeblogicProductPlugin.getSSL2WaysKeyPass()); + } catch (IOException e) { + throw new MetricUnreachableException("Bad SSL2Ways config", e); + } + } + } + Context ctx; try { |