Karaf version 2.2.10
Camel 2.10.3

What's odd to me is that a certain types of keys work in Karaf but the other 
ones do not.  It's not a complete failure where I can't get camel-crypto 
working on Karaf, just ElGamal keys.

Is there a way I can setup debug logging to see what the error is beyond the 
stack trace?

Gaurav


-----Original Message-----
From: Claus Ibsen [mailto:claus.ib...@gmail.com] 
Sent: Saturday, January 26, 2013 4:26 AM
To: users@camel.apache.org
Subject: Re: Camel-Crypto ElGamal encryption works in mvn camel:run but not in 
Karaf/OSGi

Hi

You should tell which Karaf version you use.
But OSGi can be tricky to get working.


On Thu, Jan 24, 2013 at 7:04 PM, Patel, Gaurav <gaurav.pa...@amd.com> wrote:
> I have camel 2.10.3 installed and am using the example pubring-ElGamal.gpg 
> from 
> 'components\camel-crypto\src\test\resources\org\apache\camel\component\crypto'
>  in camel-crypto and user 'sd...@nowhere.net'.
>
> When I run the camel route with mvn camel:run, the RSA encryption works 
> perfectly as well as the DSA + ElGamal encryption.  When I move this exact 
> route to Karaf, the RSA encryption continues to work but the DSA + ElGamal 
> gives the following stack trace:
>
> org.bouncycastle.openpgp.PGPException: exception encrypting session key at 
> org.bouncycastle.openpgp.PGPEncryptedDataGenerator.open(Unknown Source) at 
> org.bouncycastle.openpgp.PGPEncryptedDataGenerator.open(Unknown Source) at 
> org.apache.camel.converter.crypto.PGPDataFormat.marshal(PGPDataFormat.java:86)
>  at 
> org.apache.camel.processor.MarshalProcessor.process(MarshalProcessor.java:59) 
> at 
> org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)
>  at 
> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
>  at 
> org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)
>  at 
> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
>  at 
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73)
>  at 
> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
>  at 
> org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)
>  at 
> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
>  at 
> org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:91)
>  at 
> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
>  at 
> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:334)
>  at 
> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:220)
>  at 
> org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45)
>  at 
> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
>  at 
> org.apache.camel.processor.interceptor.DefaultChannel.process(DefaultChannel.java:303)
>  at 
> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
>  at org.apache.camel.processor.Pipeline.process(Pipeline.java:117) at 
> org.apache.camel.processor.Pipeline.process(Pipeline.java:80) at 
> org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45)
>  at 
> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
>  at 
> org.apache.camel.processor.UnitOfWorkProcessor.processAsync(UnitOfWorkProcessor.java:150)
>  at 
> org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:117)
>  at 
> org.apache.camel.processor.RouteInflightRepositoryProcessor.processNext(RouteInflightRepositoryProcessor.java:48)
>  at 
> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
>  at 
> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
>  at 
> org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)
>  at 
> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
>  at 
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73)
>  at 
> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:99)
>  at 
> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:86)
>  at 
> org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:104)
>  at 
> org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:560)
>  at 
> org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:498)
>  at 
> org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:467)
>  at 
> org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:325)
>  at 
> org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:263)
>  at 
> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1058)
>  at 
> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1050)
>  at 
> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:947)
>  at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>  at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>  at java.lang.Thread.run(Thread.java:662) Caused by: 
> org.bouncycastle.openpgp.PGPException: exception constructing public key at 
> org.bouncycastle.openpgp.PGPPublicKey.getKey(Unknown Source) at 
> org.bouncycastle.openpgp.PGPEncryptedDataGenerator$PubMethod.addSessionInfo(Unknown
>  Source) ... 46 more Caused by: java.security.spec.InvalidKeySpecException: 
> key spec not recognised at 
> org.bouncycastle.jcajce.provider.asymmetric.util.BaseKeyFactorySpi.engineGeneratePublic(Unknown
>  Source) at 
> org.bouncycastle.jcajce.provider.asymmetric.elgamal.KeyFactorySpi.engineGeneratePublic(Unknown
>  Source) at java.security.KeyFactory.generatePublic(KeyFactory.java:298) ... 
> 48 more
>
> I'm using the jre.properties.cxf (moved to jre.properties) and have this in 
> my config.properties:
> # configure karaf security providers
> org.apache.karaf.security.providers = 
> org.bouncycastle.jce.provider.BouncyCastleProvider
>
> # javax.transaction is needed to avoid class loader constraint violation when 
> using javax.sql
> org.osgi.framework.bootdelegation=org.apache.karaf.jaas.boot,sun.*,com.sun.*,javax.transaction,javax.transaction.*,org.bouncycastle*
>
> I've also loaded bcprov-jdk16-1.46.jar into lib/ext since I'm using Java SDK 
> 1.6.
>
> Any suggestions/ideas on what could be wrong?
>
> Gaurav
>



-- 
Claus Ibsen
-----------------
Red Hat, Inc.
FuseSource is now part of Red Hat
Email: cib...@redhat.com
Web: http://fusesource.com
Twitter: davsclaus
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen


Reply via email to