Placing a gbean and/or EJB in a signed jar causes a SecurityException during 
deployment and/or runtime
------------------------------------------------------------------------------------------------------

                 Key: GERONIMO-2856
                 URL: https://issues.apache.org/jira/browse/GERONIMO-2856
             Project: Geronimo
          Issue Type: Bug
      Security Level: public (Regular issues)
          Components: deployment
    Affects Versions: 1.1.1
         Environment: Geronimo version 1.1.1. I don't believe the OS and 
hardware are relevant, but this is running under Windows (both XP and server 
have been tried)
            Reporter: Yoel Spotts
            Priority: Minor


The issue surrounds Geronimo's usage of proxies and how it relates to signed 
jars. Thus far, I have encountered two issues in this regard:

a) If an EJB is deployed as part of an ear, and the EJB classes are contained 
in a signed jar within the EAR, the EAR will fail to deploy at all (I have 
tried to deploy offline, but I doubt deploying online would make a difference). 
I hope to attach a sample of this (named example-full.ear) which highlights 
this issue. You will note the EJB classes are located in the signed jar 
example.jar and the ejb's manifest places example.jar in the classpath, so that 
the classes are found, but the proxies created for the EJB classes are located 
out of the signed package, just causing the SecurityException.

b) If a Gbean loaded by an EAR (defined in geronimo-application.xml) is placed 
in a signed jar in the EAR, the EAR will be deployed, but will fail to startup, 
due to a SecurityException, again b/c of the proxy class created for the gbean. 
I hope to attach an ear highlighting this issue (named example-partial.ear). 
Again, the signed example.jar contains a gbean (and again, the ejb's manifest 
places the example.jar on the classpath)

Besides the obvious solution of not signing the jar, it was suggested to try 
the experimental property: -DXorg.apache.geronimo.gbean.NoProxy=true. I did try 
that, and it does seem to solve manifestation b) of this issue. However, it 
won't address part a) above and is still experimental; It does not seem clear 
what functionality is lost by using this option.

A possible resolution might be to create the proxies in a different package 
than the target classes, which might not cause a SecurityException in that 
case. Another possible avenue came from Dain Sundstrom on the mailing list: 
"Alternatively, just change the code that complains about the signature.  We 
could add a flag to the Geronimo class loader to hide all signing data."


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to