[jboss-cvs] JBossAS SVN: r72683 - trunk/server/src/main/org/jboss/ejb/plugins.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Apr 24 12:30:21 EDT 2008


Author: anil.saldhana at jboss.com
Date: 2008-04-24 12:30:20 -0400 (Thu, 24 Apr 2008)
New Revision: 72683

Modified:
   trunk/server/src/main/org/jboss/ejb/plugins/SSLSessionInterceptor.java
Log:
JBAS-5480 JBAS-5481 : SSL Session Interceptor fixes

Modified: trunk/server/src/main/org/jboss/ejb/plugins/SSLSessionInterceptor.java
===================================================================
--- trunk/server/src/main/org/jboss/ejb/plugins/SSLSessionInterceptor.java	2008-04-24 16:28:05 UTC (rev 72682)
+++ trunk/server/src/main/org/jboss/ejb/plugins/SSLSessionInterceptor.java	2008-04-24 16:30:20 UTC (rev 72683)
@@ -25,11 +25,20 @@
 import javax.net.ssl.SSLSession;
 import javax.net.ssl.SSLPeerUnverifiedException;
 import java.security.cert.X509Certificate;
+import java.util.Set;
+
 import org.jboss.invocation.Invocation;
 
 import org.jboss.security.ssl.DomainServerSocketFactory;
 import org.jboss.security.CertificatePrincipal;
+import org.jboss.security.SecurityContext;
 import org.jboss.security.auth.certs.SubjectDNMapping;
+import org.jboss.security.identity.Identity;
+import org.jboss.security.identity.IdentityFactory;
+import org.jboss.security.identity.IdentityType;
+import org.jboss.security.identity.extensions.CertificateIdentity;
+import org.jboss.security.identity.extensions.CertificateIdentityFactory;
+import org.jboss.security.identity.extensions.CredentialIdentity;
 
 /**
  * An interceptor that looks for the peer certificates from the SSLSession
@@ -50,7 +59,7 @@
    public Object invokeHome(Invocation mi) throws Exception
    {
       extractSessionPrincipal(mi);
-      Object returnValue = getNext().invoke(mi);
+      Object returnValue = getNext().invokeHome(mi);
       return returnValue;      
    }
 
@@ -102,7 +111,18 @@
             Principal caller = cpMapping.toPrinicipal(certs);
             mi.setPrincipal(caller);
             mi.setCredential(certs);
+            
+            //Update the invocation security context
+            SecurityContext invSC = mi.getSecurityContext();
+            if(invSC != null)
+            {
+               CertificateIdentityFactory identityFactory = (CertificateIdentityFactory) 
+                                      IdentityFactory.getFactory(IdentityType.CERTIFICATE);
+               CertificateIdentity certIdentity = identityFactory.createIdentity(caller, certs, null); 
+               invSC.getUtil().clearIdentities(CredentialIdentity.class); 
+               invSC.getUtil().addIdentity(certIdentity); 
+            }
          }
       }
    }
-}
+}
\ No newline at end of file




More information about the jboss-cvs-commits mailing list