[jboss-cvs] JBossAS SVN: r100042 - branches/JBPAPP_4_2_0_GA_CP/security/src/main/org/jboss/security/plugins.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Jan 28 08:12:03 EST 2010


Author: mmoyses
Date: 2010-01-28 08:12:02 -0500 (Thu, 28 Jan 2010)
New Revision: 100042

Modified:
   branches/JBPAPP_4_2_0_GA_CP/security/src/main/org/jboss/security/plugins/JaasSecurityDomain.java
   branches/JBPAPP_4_2_0_GA_CP/security/src/main/org/jboss/security/plugins/JaasSecurityDomainMBean.java
Log:
JBPAPP-3583: added option for provider's argument

Modified: branches/JBPAPP_4_2_0_GA_CP/security/src/main/org/jboss/security/plugins/JaasSecurityDomain.java
===================================================================
--- branches/JBPAPP_4_2_0_GA_CP/security/src/main/org/jboss/security/plugins/JaasSecurityDomain.java	2010-01-28 13:04:10 UTC (rev 100041)
+++ branches/JBPAPP_4_2_0_GA_CP/security/src/main/org/jboss/security/plugins/JaasSecurityDomain.java	2010-01-28 13:12:02 UTC (rev 100042)
@@ -24,9 +24,11 @@
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
+import java.lang.reflect.Constructor;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.security.KeyStore;
+import java.security.Provider;
 import java.util.Arrays;
 
 import javax.crypto.Cipher;
@@ -154,6 +156,8 @@
    private String trustMgrFactoryProvider;
    private String keyMgrFactoryAlgorithm;
    private String trustMgrFactoryAlgorithm;
+   private String keyStoreProviderArgument;
+   private String trustStoreProviderArgument;
 
    /** Creates a default JaasSecurityDomain for with a securityDomain
     name of 'other'.
@@ -448,6 +452,26 @@
    {
       this.trustMgrFactoryAlgorithm = algorithm;
    }
+   
+   public String getKeyStoreProviderArgument()
+   {
+      return keyStoreProviderArgument;
+   }
+   
+   public void setKeyStoreProviderArgument(String argument)
+   {
+      this.keyStoreProviderArgument = argument;
+   }
+   
+   public String getTrustStoreProviderArgument()
+   {
+      return trustStoreProviderArgument;
+   }
+   
+   public void setTrustStoreProviderArgument(String argument)
+   {
+      this.trustStoreProviderArgument = argument;
+   }
 
    /**
        Reload the key- and truststore
@@ -510,7 +534,20 @@
       if( keyStorePassword != null )
       {
          if (keyStoreProvider != null)
-            keyStore = KeyStore.getInstance(keyStoreType, keyStoreProvider);
+         {
+            if (keyStoreProviderArgument != null)
+            {
+               ClassLoader loader = Thread.currentThread().getContextClassLoader();
+               Class clazz = loader.loadClass(keyStoreProvider);
+               Class[] ctorSig = {String.class};
+               Constructor ctor = clazz.getConstructor(ctorSig);
+               Object[] ctorArgs = {keyStoreProviderArgument};
+               Provider provider = (Provider) ctor.newInstance(ctorArgs);
+               keyStore = KeyStore.getInstance(keyStoreType, provider);
+            }
+            else
+               keyStore = KeyStore.getInstance(keyStoreType, keyStoreProvider);
+         }
          else
             keyStore = KeyStore.getInstance(keyStoreType);
          InputStream is = null;
@@ -545,7 +582,20 @@
       if( trustStorePassword != null )
       {
          if (trustStoreProvider != null)
-            trustStore = KeyStore.getInstance(trustStoreType, trustStoreProvider);
+         {
+            if (trustStoreProviderArgument != null)
+            {
+               ClassLoader loader = Thread.currentThread().getContextClassLoader();
+               Class clazz = loader.loadClass(trustStoreProvider);
+               Class[] ctorSig = {String.class};
+               Constructor ctor = clazz.getConstructor(ctorSig);
+               Object[] ctorArgs = {trustStoreProviderArgument};
+               Provider provider = (Provider) ctor.newInstance(ctorArgs);
+               trustStore = KeyStore.getInstance(trustStoreType, provider);
+            }
+            else
+               trustStore = KeyStore.getInstance(trustStoreType, trustStoreProvider);
+         }
          else
             trustStore = KeyStore.getInstance(trustStoreType);
          InputStream is = null;

Modified: branches/JBPAPP_4_2_0_GA_CP/security/src/main/org/jboss/security/plugins/JaasSecurityDomainMBean.java
===================================================================
--- branches/JBPAPP_4_2_0_GA_CP/security/src/main/org/jboss/security/plugins/JaasSecurityDomainMBean.java	2010-01-28 13:04:10 UTC (rev 100041)
+++ branches/JBPAPP_4_2_0_GA_CP/security/src/main/org/jboss/security/plugins/JaasSecurityDomainMBean.java	2010-01-28 13:12:02 UTC (rev 100042)
@@ -204,4 +204,28 @@
     * @param algorithm algorithm of the TrustManagerFactory
     */
    public void setTrustManagerFactoryAlgorithm(String algorithm);
+   
+   /**
+    * Returns the argument for the KeyStore provider constructor 
+    * @return argument for the KeyStore provider
+    */
+   public String getKeyStoreProviderArgument();
+   
+   /**
+    * Sets the argument for the KeyStore provider constructor
+    * @param argument for the KeyStore provider
+    */
+   public void setKeyStoreProviderArgument(String argument);
+   
+   /**
+    * Returns the argument for the TrustStore provider constructor 
+    * @return argument for the TrustStore provider
+    */
+   public String getTrustStoreProviderArgument();
+   
+   /**
+    * Sets the argument for the TrustStore provider constructor
+    * @param argument for the TrustStore provider
+    */
+   public void setTrustStoreProviderArgument(String argument);
 }




More information about the jboss-cvs-commits mailing list