[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