I have it working now.  Thanks so much for your help.  I wondered if there
was any additional documentation about how to work with the java closures in
the shell.  I've looked at the spec, but there seems to be a lot more there
than is obvious from that.

Thanks,
Tom

On Mon, Mar 29, 2010 at 7:56 AM, 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
>



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

Reply via email to