[jboss-cvs] Picketlink SVN: r973 - trust/trunk/jbossws/src/main/java/org/picketlink/trust/jbossws/jaas.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Jun 6 18:09:35 EDT 2011
Author: anil.saldhana at jboss.com
Date: 2011-06-06 18:09:35 -0400 (Mon, 06 Jun 2011)
New Revision: 973
Modified:
trust/trunk/jbossws/src/main/java/org/picketlink/trust/jbossws/jaas/JBWSTokenIssuingLoginModule.java
Log:
set custom sock fact
Modified: trust/trunk/jbossws/src/main/java/org/picketlink/trust/jbossws/jaas/JBWSTokenIssuingLoginModule.java
===================================================================
--- trust/trunk/jbossws/src/main/java/org/picketlink/trust/jbossws/jaas/JBWSTokenIssuingLoginModule.java 2011-06-06 22:08:32 UTC (rev 972)
+++ trust/trunk/jbossws/src/main/java/org/picketlink/trust/jbossws/jaas/JBWSTokenIssuingLoginModule.java 2011-06-06 22:09:35 UTC (rev 973)
@@ -26,6 +26,7 @@
import java.util.Map;
import java.util.Set;
+import javax.net.ssl.SSLSocketFactory;
import javax.security.auth.login.LoginException;
import javax.xml.transform.Source;
import javax.xml.ws.Binding;
@@ -176,10 +177,54 @@
log.trace("We got security domain for domain ssl factory = " + securityDomainForFactory);
log.trace("Setting it on the system property org.jboss.security.ssl.domain.name");
}
+ String sslFactoryName = "org.jboss.security.ssl.JaasSecurityDomainSocketFactory";
SecurityActions.setSystemProperty("org.jboss.security.ssl.domain.name", securityDomainForFactory);
//StubExt.PROPERTY_SOCKET_FACTORY
- dispatch.getRequestContext().put( "org.jboss.ws.socketFactory",
- "org.jboss.security.ssl.JaasSecurityDomainSocketFactory");
+ dispatch.getRequestContext().put( "org.jboss.ws.socketFactory", sslFactoryName);
+
+ //If we are using PL Dispatch. Then we need to set the SSL Socket Factory
+ if( dispatch instanceof PicketLinkDispatch)
+ {
+ ClassLoader cl = SecurityActions.getClassLoader(getClass());
+ SSLSocketFactory socketFactory = null;
+ if(cl != null)
+ {
+ try
+ {
+ Class<?> clazz = cl.loadClass(sslFactoryName);
+ socketFactory = (SSLSocketFactory) clazz.newInstance();
+ }
+ catch(Exception e)
+ {
+ cl = SecurityActions.getContextClassLoader();
+ try
+ {
+ Class<?> clazz = cl.loadClass(sslFactoryName);
+ socketFactory = (SSLSocketFactory) clazz.newInstance();
+ }
+ catch (Exception e1)
+ {
+ throw new RuntimeException("Unable to create SSL Socket Factory:",e1);
+ }
+ }
+ finally
+ {
+ if(socketFactory != null)
+ {
+ ((PicketLinkDispatch)dispatch).setSSLSocketFactory(socketFactory);
+ }
+ else
+ throw new RuntimeException(" We did not find SSL Socket Factory");
+ }
+ }
+ else
+ {
+ if(trace)
+ {
+ log.trace("Classloader is null. Unable to set the SSLSocketFactory on PicketLinkDispatch");
+ }
+ }
+ }
}
}
}
More information about the jboss-cvs-commits
mailing list