[jboss-svn-commits] JBL Code SVN: r35531 - in labs/jbossesb/branches/JBESB_4_9_CP/product: samples/quickstarts/webservice_proxy_security and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Oct 15 05:19:56 EDT 2010


Author: kevin.conner at jboss.com
Date: 2010-10-15 05:19:55 -0400 (Fri, 15 Oct 2010)
New Revision: 35531

Modified:
   labs/jbossesb/branches/JBESB_4_9_CP/product/rosetta/src/org/jboss/soa/esb/http/protocol/AbstractProtocolSocketFactoryBuilder.java
   labs/jbossesb/branches/JBESB_4_9_CP/product/rosetta/src/org/jboss/soa/esb/http/protocol/AuthSSLProtocolSocketFactoryBuilder.java
   labs/jbossesb/branches/JBESB_4_9_CP/product/rosetta/src/org/jboss/soa/esb/http/protocol/SelfSignedSSLProtocolSocketFactoryBuilder.java
   labs/jbossesb/branches/JBESB_4_9_CP/product/samples/quickstarts/webservice_proxy_security/build.xml
   labs/jbossesb/branches/JBESB_4_9_CP/product/samples/quickstarts/webservice_proxy_security/httpclient-8443.properties
Log:
Allow encrypted password files: JBESB-3505

Modified: labs/jbossesb/branches/JBESB_4_9_CP/product/rosetta/src/org/jboss/soa/esb/http/protocol/AbstractProtocolSocketFactoryBuilder.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_9_CP/product/rosetta/src/org/jboss/soa/esb/http/protocol/AbstractProtocolSocketFactoryBuilder.java	2010-10-15 09:15:34 UTC (rev 35530)
+++ labs/jbossesb/branches/JBESB_4_9_CP/product/rosetta/src/org/jboss/soa/esb/http/protocol/AbstractProtocolSocketFactoryBuilder.java	2010-10-15 09:19:55 UTC (rev 35531)
@@ -20,8 +20,10 @@
 package org.jboss.soa.esb.http.protocol;
 
 import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.services.security.PasswordUtil;
 import org.jboss.soa.esb.util.ssl.SSLUtil;
 
+import java.io.File;
 import java.io.InputStream;
 import java.io.IOException;
 import java.net.MalformedURLException;
@@ -70,6 +72,11 @@
             try {
                 trustStoreURL = new URL(trustStoreConfig);
             } catch (MalformedURLException e) {
+                final URL fileURL = getFileAsURL(trustStoreConfig) ;
+                if (fileURL != null)
+                {
+                    return fileURL ;
+                }
                 throw new ConfigurationException("Invalid 'truststore' config.  Must be valid URL.", e);
             }
         }
@@ -85,12 +92,31 @@
             try {
                 keyStoreURL = new URL(keyStoreConfig);
             } catch (MalformedURLException e) {
+                final URL fileURL = getFileAsURL(keyStoreConfig) ;
+                if (fileURL != null)
+                {
+                    return fileURL ;
+                }
                 throw new ConfigurationException("Invalid 'keystore' config.  Must be valid URL.", e);
             }
         }
 
         return keyStoreURL;
     }
+    
+    protected static URL getFileAsURL(final String filename)
+    {
+        final File file = new File(filename);
+        if (file.exists() && !file.isDirectory())
+        {
+            try
+            {
+                return file.toURL();
+            }
+            catch (final MalformedURLException murle) {} // ignore
+        }
+        return null ;
+    }
 
     protected KeyStore getKeystore() throws ConfigurationException {
         URL url = getKeystoreURL();
@@ -99,7 +125,7 @@
             try {
                 InputStream keystoreStream = url.openStream();
                 if(keystoreStream != null) {
-                    return SSLUtil.loadKeyStore(keystoreStream, getKeystoreType(), getKeystorePassword());
+                    return SSLUtil.loadKeyStore(keystoreStream, getKeystoreType(), getPasswordFromFile(getKeystorePassword()));
                 } else {
                     throw new ConfigurationException("Unable to open keystore '" + url.toString() + "' for loading.");
                 }
@@ -124,7 +150,7 @@
             try {
                 InputStream truststoreStream = url.openStream();
                 if(truststoreStream != null) {
-                    return SSLUtil.loadKeyStore(truststoreStream, getTruststoreType(), getTruststorePassword());
+                    return SSLUtil.loadKeyStore(truststoreStream, getTruststoreType(), getPasswordFromFile(getTruststorePassword()));
                 } else {
                     throw new ConfigurationException("Unable to open truststore '" + url.toString() + "' for loading.");
                 }
@@ -141,4 +167,20 @@
 
         return null;
     }
+    
+    protected String getPasswordFromFile(final String password) throws ConfigurationException
+    {
+        if (PasswordUtil.isPasswordFile(password))
+        {
+            try
+            {
+                return new PasswordUtil(password).getPasswordAsString();
+            }
+            catch (final IOException e)
+            {
+                throw new ConfigurationException(e.getMessage(), e);
+            }
+        }
+        return password;
+    }
 }

Modified: labs/jbossesb/branches/JBESB_4_9_CP/product/rosetta/src/org/jboss/soa/esb/http/protocol/AuthSSLProtocolSocketFactoryBuilder.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_9_CP/product/rosetta/src/org/jboss/soa/esb/http/protocol/AuthSSLProtocolSocketFactoryBuilder.java	2010-10-15 09:15:34 UTC (rev 35530)
+++ labs/jbossesb/branches/JBESB_4_9_CP/product/rosetta/src/org/jboss/soa/esb/http/protocol/AuthSSLProtocolSocketFactoryBuilder.java	2010-10-15 09:19:55 UTC (rev 35531)
@@ -36,8 +36,8 @@
 public class AuthSSLProtocolSocketFactoryBuilder extends AbstractProtocolSocketFactoryBuilder {
 
     public ProtocolSocketFactory newInstance() throws ConfigurationException {
-        String keyStorePW = getKeystorePassword();
-        String trustStorePW = getTruststorePassword();
+        String keyStorePW = getPasswordFromFile(getKeystorePassword());
+        String trustStorePW = getPasswordFromFile(getTruststorePassword());
         URL keyStoreURL = getKeystoreURL();
         URL trustStoreURL = getTruststoreURL();
 

Modified: labs/jbossesb/branches/JBESB_4_9_CP/product/rosetta/src/org/jboss/soa/esb/http/protocol/SelfSignedSSLProtocolSocketFactoryBuilder.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_9_CP/product/rosetta/src/org/jboss/soa/esb/http/protocol/SelfSignedSSLProtocolSocketFactoryBuilder.java	2010-10-15 09:15:34 UTC (rev 35530)
+++ labs/jbossesb/branches/JBESB_4_9_CP/product/rosetta/src/org/jboss/soa/esb/http/protocol/SelfSignedSSLProtocolSocketFactoryBuilder.java	2010-10-15 09:19:55 UTC (rev 35531)
@@ -48,7 +48,7 @@
 
     public ProtocolSocketFactory newInstance() throws ConfigurationException {
         try {
-            return new SelfSignedSSLProtocolSocketFactory(getKeystore(), getKeystorePassword(), getTruststore());
+            return new SelfSignedSSLProtocolSocketFactory(getKeystore(), getPasswordFromFile(getKeystorePassword()), getTruststore());
         } catch (NoSuchAlgorithmException e) {
             throw new ConfigurationException("Failed to create SelfSignedSSLProtocolSocketFactory.", e);
         } catch (KeyStoreException e) {

Modified: labs/jbossesb/branches/JBESB_4_9_CP/product/samples/quickstarts/webservice_proxy_security/build.xml
===================================================================
--- labs/jbossesb/branches/JBESB_4_9_CP/product/samples/quickstarts/webservice_proxy_security/build.xml	2010-10-15 09:15:34 UTC (rev 35530)
+++ labs/jbossesb/branches/JBESB_4_9_CP/product/samples/quickstarts/webservice_proxy_security/build.xml	2010-10-15 09:19:55 UTC (rev 35531)
@@ -14,7 +14,7 @@
 
     <target name="quickstart-specific-checks" depends="assert-ws-available"/>
 
-    <target name="quickstart-specific-assemblies" depends="genkey,makewar"/>
+    <target name="quickstart-specific-assemblies" depends="makewar"/>
 
     <target name="quickstart-specific-predeploys">
 		<copy todir="${org.jboss.esb.server.deploy.dir}"

Modified: labs/jbossesb/branches/JBESB_4_9_CP/product/samples/quickstarts/webservice_proxy_security/httpclient-8443.properties
===================================================================
--- labs/jbossesb/branches/JBESB_4_9_CP/product/samples/quickstarts/webservice_proxy_security/httpclient-8443.properties	2010-10-15 09:15:34 UTC (rev 35530)
+++ labs/jbossesb/branches/JBESB_4_9_CP/product/samples/quickstarts/webservice_proxy_security/httpclient-8443.properties	2010-10-15 09:19:55 UTC (rev 35531)
@@ -13,7 +13,7 @@
 keystore=@keystore@
 keystore-passw=@keystore.password@
 truststore=@keystore@
-truststore-passw=webservice_proxy_security_pass
+truststore-passw=@keystore.password@
 
 # Connection config
 #max-connections-per-host=5



More information about the jboss-svn-commits mailing list