Yeah, I realized that the reason I need to change boot delegation stuff is
that we have a signing policy store implementation which is used by our
provider, but signing policy is outside of the scope of the standard java
security stuff.  Anyhoo, thanks again, I got everything working.

-Tom

On Mon, Mar 29, 2010 at 9:08 AM, Guillaume Nodet <[email protected]> wrote:

> I haven't changed any boot delegation or system packages at all.
> And I don't think you need unless you need to access the globus specific
> classes
> directly from another bundle.  For the pure java security provider thing,
> it
> should not be necessary.
>
> On Mon, Mar 29, 2010 at 14:56, Tom Howe <[email protected]> wrote:
>
> > Ok, I think this makes sense (although you have to love some of the
> cryptic
> > messages java can give you sometimes).  These classes are the result of a
> > shade operation.  I assume (please correct me if I'm wrong) that I need
> to
> > add these packages (org.globus.crux.org.springframework.*) to the
> > bootdelegation property.
> >
> > Thanks.
> > Tom
> >
> > On Mon, Mar 29, 2010 at 7:32 AM, Guillaume Nodet <[email protected]>
> wrote:
> >
> > > Here's what I just did:
> > >
> > > #1.  copy bcprov-jdk15-1.45.jar into the lib dir
> > > #2.  copy bcprov-ext-jdk15-1.45.jar into the lib dir
> > > #3.  copy org.globus.crux.security.sslproxies-1.0-SNAPSHOT.jar into the
> > lib
> > > dir
> > > #4.  start karaf
> > > #5.  run "addcommand ks (loadclass java.security.KeyStore)"
> > > #6.  run "dev:print-stack-traces"
> > > #7.  run "ks:getInstance PEMFilebasedKeyStore"
> > >
> > > which leads to the following exception:
> > >
> > > java.lang.reflect.InvocationTargetException
> > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > > at
> > >
> > >
> >
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> > > at
> > >
> > >
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> > > at java.lang.reflect.Method.invoke(Method.java:597)
> > > at
> > >
> >
> org.apache.felix.gogo.runtime.shell.Reflective.method(Reflective.java:129)
> > > at org.apache.felix.gogo.runtime.shell.Command.execute(Command.java:40)
> > > at
> org.apache.felix.gogo.runtime.shell.Closure.execute(Closure.java:211)
> > > at
> > >
> > >
> >
> org.apache.felix.gogo.runtime.shell.Closure.executeStatement(Closure.java:146)
> > > at org.apache.felix.gogo.runtime.shell.Pipe.run(Pipe.java:91)
> > > at org.apache.felix.gogo.runtime.shell.Closure.execute(Closure.java:75)
> > > at
> > >
> > >
> >
> org.apache.felix.gogo.runtime.shell.CommandSessionImpl.execute(CommandSessionImpl.java:71)
> > > at
> > org.apache.felix.karaf.shell.console.jline.Console.run(Console.java:177)
> > > at java.lang.Thread.run(Thread.java:637)
> > > Caused by: java.lang.NoClassDefFoundError:
> > > org/globus/crux/org/springframework/util/PathMatcher
> > > at
> > >
> > >
> >
> org.globus.security.stores.ResourceSecurityWrapperStore.<init>(ResourceSecurityWrapperStore.java:46)
> > > at
> > >
> > >
> >
> org.globus.security.stores.ResourceCACertStore.<init>(ResourceCACertStore.java:33)
> > > at
> > >
> > >
> >
> org.globus.security.provider.FileBasedKeyStore.<init>(FileBasedKeyStore.java:97)
> > > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)
> > > at
> > >
> > >
> >
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> > > at
> > >
> > >
> >
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> > > at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> > > at java.lang.Class.newInstance0(Class.java:355)
> > > at java.lang.Class.newInstance(Class.java:308)
> > > at java.security.Provider$Service.newInstance(Provider.java:1221)
> > > at sun.security.jca.GetInstance.getInstance(GetInstance.java:220)
> > > at sun.security.jca.GetInstance.getInstance(GetInstance.java:147)
> > > at java.security.Security.getImpl(Security.java:659)
> > > at java.security.KeyStore.getInstance(KeyStore.java:584)
> > > ... 13 more
> > > Caused by: java.lang.ClassNotFoundException:
> > > org.globus.crux.org.springframework.util.PathMatcher
> > > at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
> > > at java.security.AccessController.doPrivileged(Native Method)
> > > at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
> > > at java.lang.ClassLoader.loadClass(ClassLoader.java:315)
> > > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:330)
> > > at java.lang.ClassLoader.loadClass(ClassLoader.java:250)
> > > at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:398)
> > > ... 27 more
> > >
> > >
> > > As you can see, you're missing a few classes in the jar I think.
> > >
> > > On Mon, Mar 29, 2010 at 14:11, Tom Howe <[email protected]>
> wrote:
> > >
> > > > I have attached a copy of the provider jar (it's not released yet).
>  I
> > do
> > > > not have any other bundles installed (other than the basic karaf
> > bundles
> > > and
> > > > the bundle that is trying to load the keystore). As our provider
> > depends
> > > on
> > > > bouncy castle, I have the bouncy castle jars (bcprov-jdk15 and
> > > > bcprov-ext-jdk15) in  the lib directory as well.  Here is the sample
> > code
> > > > which loads the keystore:
> > > >
> > > > KeyStore keystore =
> KeyStore.getInstance(GlobusProvider.KEYSTORE_TYPE);
> > > >
> > > > This is just in a class loaded via blueprint in one of the bundles.
> > > >
> > > > Thanks again,
> > > > Tom
> > > >
> > > >
> > > > On Mon, Mar 29, 2010 at 3:19 AM, Guillaume Nodet <[email protected]>
> > > wrote:
> > > >
> > > >> Could you provide a bit more details so that we can reproduce the
> > > problem
> > > >> ?
> > > >> WHich jars are you using exactly (I'm not familiar with globus) ?
>  Do
> > > you
> > > >> have any
> > > >> additional bundles that you deploy in addition to the jars in the
> lib
> > > >> directory ?
> > > >>
> > > >>
> > > >> On Mon, Mar 29, 2010 at 02:23, Tom Howe <[email protected]>
> > wrote:
> > > >>
> > > >> > I am trying to deploy our custom security provider into karaf (I'm
> > > using
> > > >> > 1.5.0-SNAPSHOT at the moment).  I've installed my jar into the lib
> > > >> > directory, and put:
> > > >> >
> > > >> > org.apache.felix.karaf.security.providers =
> > > >> > org.globus.security.provider.GlobusProvider
> > > >> >
> > > >> > into my config.properties.  I also added: org.globus.security.* to
> > the
> > > >> > org.osgi.framework.bootdelegation parameter.
> > > >> >
> > > >> > When I try to use one of the KeyStores from my provider I get:
> > > >> >
> > > >> > Error executing command: Unresolved constraint in bundle
> > > >> > org.globus.crux.jsse [36]: package;
> > > (package=org.globus.security.stores)
> > > >> > (The keystore class is in that package.)
> > > >> >
> > > >> >
> > > >> > I've tried a number of combinations of system packages and
> > > >> bootdelegation
> > > >> > parameters without any luck.
> > > >> >
> > > >> > I'd appreciate any suggestions.
> > > >> >
> > > >> > Thanks,
> > > >> > Tom Howe
> > > >> >
> > > >> > --
> > > >> > Tom Howe
> > > >> > Senior Software Engineer
> > > >> > Distributed Systems Lab
> > > >> > University of Chicago/Argonne National Laboratory
> > > >> >
> > > >>
> > > >>
> > > >>
> > > >> --
> > > >> Cheers,
> > > >> Guillaume Nodet
> > > >> ------------------------
> > > >> Blog: http://gnodet.blogspot.com/
> > > >> ------------------------
> > > >> Open Source SOA
> > > >> http://fusesource.com
> > > >>
> > > >
> > > >
> > > >
> > > > --
> > > > Tom Howe
> > > > Senior Software Engineer
> > > > Distributed Systems Lab
> > > > University of Chicago/Argonne National Laboratory
> > > >
> > > >
> > > > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: [email protected]
> > > > For additional commands, e-mail: [email protected]
> > > >
> > >
> > >
> > >
> > > --
> > > Cheers,
> > > Guillaume Nodet
> > > ------------------------
> > > Blog: http://gnodet.blogspot.com/
> > > ------------------------
> > > Open Source SOA
> > > http://fusesource.com
> > >
> >
> >
> >
> > --
> > Tom Howe
> > Senior Software Engineer
> > Distributed Systems Lab
> > University of Chicago/Argonne National Laboratory
> >
>
>
>
> --
> Cheers,
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
> ------------------------
> Open Source SOA
> http://fusesource.com
>



-- 
Tom Howe
Senior Software Engineer
Distributed Systems Lab
University of Chicago/Argonne National Laboratory

Reply via email to