You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by "Siano, Stephan" <st...@sap.com> on 2012/09/11 10:18:52 UTC
bouncycastle as JCE crypto provider on OSGi
Hi,
Has anyone tried to use bouncycastle as a crypto provider for the camel-crypto data type on an OSGi platform?
I have tried the following rather naïve approach:
Deploy camel-crypto along with the appropriate bouncycastle bundles from bouncy castle 1.47.
Then I tried to access the crypto provider by using
<camel:dataFormats>
<camel:crypto id="pkcs7" cryptoProvider="bc"
algorithm="DES/CBC/PKCS5Padding" keyRef="rsa" />
</camel:dataFormats>
in a blueprint descriptor. I got the following error message, even if I tried a Security.addProvider(new BouncyCastleProvider()) in some bean coding that was supposed to start beforehand:
java.security.NoSuchProviderException: No such provider: bc
at javax.crypto.Cipher.getInstance(DashoA13*..) ~[na:na]
at org.apache.camel.converter.crypto.CryptoDataFormat.initializeCipher(CryptoDataFormat.java:100) ~[na:na]
at org.apache.camel.converter.crypto.CryptoDataFormat.unmarshal(CryptoDataFormat.java:152) ~[na:na]
at org.apache.camel.processor.UnmarshalProcessor.process(UnmarshalProcessor.java:58) ~[na:na]
at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61) ~[na:na]
at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) ~[na:na]
at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) ~[na:na]
at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) ~[na:na]
at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:71) ~[na:na]
at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) ~[na:na]
at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) ~[na:na]
at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) ~[na:na]
at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:91) ~[na:na]
at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) ~[na:na]
at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:333) ~[na:na]
at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:223) ~[na:na]
at org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45) ~[na:na]
at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) ~[na:na]
at org.apache.camel.processor.interceptor.DefaultChannel.process(DefaultChannel.java:304) ~[na:na]
at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) ~[na:na]
at org.apache.camel.processor.Pipeline.process(Pipeline.java:117) ~[na:na]
at org.apache.camel.processor.Pipeline.process(Pipeline.java:80) ~[na:na]
...
Did anybody use the camel-crypto component with bouncycastle on a OSGi platform?
Best regards
Stephan
Re: bouncycastle as JCE crypto provider on OSGi
Posted by James Carman <ja...@carmanconsulting.com>.
No worries. Be sure to report back to this thread when you get it
figured out. It will be helpful to the next poor soul who runs into
your situation. :)
On Tue, Sep 11, 2012 at 7:49 AM, Siano, Stephan <st...@sap.com> wrote:
> Hi,
>
> No I am not using ServiceMix, however the link is very helpful, anyway. Obviously the JCE provider has to be available in the boot classpath the classes need to be loaded by the boot clasloader (hence the bootdelegation). That means that what I was trying to achieve does not work.
>
> Thanks,
>
> Best regards
> Stephan
>
> -----Original Message-----
> From: jcarman@carmanconsulting.com [mailto:jcarman@carmanconsulting.com] On Behalf Of James Carman
> Sent: Dienstag, 11. September 2012 13:18
> To: users@camel.apache.org
> Subject: Re: bouncycastle as JCE crypto provider on OSGi
>
> Are you using ServiceMix?
>
> http://servicemix.apache.org/kernel/65-deploying-security-providers.html
>
> I don't know if that's what you're looking for, but it looks like a
> good start. :)
>
>
> On Tue, Sep 11, 2012 at 4:18 AM, Siano, Stephan <st...@sap.com> wrote:
>> Hi,
>>
>> Has anyone tried to use bouncycastle as a crypto provider for the camel-crypto data type on an OSGi platform?
>>
>> I have tried the following rather naïve approach:
>> Deploy camel-crypto along with the appropriate bouncycastle bundles from bouncy castle 1.47.
>> Then I tried to access the crypto provider by using
>> <camel:dataFormats>
>> <camel:crypto id="pkcs7" cryptoProvider="bc"
>> algorithm="DES/CBC/PKCS5Padding" keyRef="rsa" />
>> </camel:dataFormats>
>> in a blueprint descriptor. I got the following error message, even if I tried a Security.addProvider(new BouncyCastleProvider()) in some bean coding that was supposed to start beforehand:
>>
>> java.security.NoSuchProviderException: No such provider: bc
>> at javax.crypto.Cipher.getInstance(DashoA13*..) ~[na:na]
>> at org.apache.camel.converter.crypto.CryptoDataFormat.initializeCipher(CryptoDataFormat.java:100) ~[na:na]
>> at org.apache.camel.converter.crypto.CryptoDataFormat.unmarshal(CryptoDataFormat.java:152) ~[na:na]
>> at org.apache.camel.processor.UnmarshalProcessor.process(UnmarshalProcessor.java:58) ~[na:na]
>> at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61) ~[na:na]
>> at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) ~[na:na]
>> at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) ~[na:na]
>> at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) ~[na:na]
>> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:71) ~[na:na]
>> at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) ~[na:na]
>> at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) ~[na:na]
>> at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) ~[na:na]
>> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:91) ~[na:na]
>> at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) ~[na:na]
>> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:333) ~[na:na]
>> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:223) ~[na:na]
>> at org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45) ~[na:na]
>> at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) ~[na:na]
>> at org.apache.camel.processor.interceptor.DefaultChannel.process(DefaultChannel.java:304) ~[na:na]
>> at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) ~[na:na]
>> at org.apache.camel.processor.Pipeline.process(Pipeline.java:117) ~[na:na]
>> at org.apache.camel.processor.Pipeline.process(Pipeline.java:80) ~[na:na]
>> ...
>>
>> Did anybody use the camel-crypto component with bouncycastle on a OSGi platform?
>>
>> Best regards
>> Stephan
RE: bouncycastle as JCE crypto provider on OSGi
Posted by "Siano, Stephan" <st...@sap.com>.
Hi,
No I am not using ServiceMix, however the link is very helpful, anyway. Obviously the JCE provider has to be available in the boot classpath the classes need to be loaded by the boot clasloader (hence the bootdelegation). That means that what I was trying to achieve does not work.
Thanks,
Best regards
Stephan
-----Original Message-----
From: jcarman@carmanconsulting.com [mailto:jcarman@carmanconsulting.com] On Behalf Of James Carman
Sent: Dienstag, 11. September 2012 13:18
To: users@camel.apache.org
Subject: Re: bouncycastle as JCE crypto provider on OSGi
Are you using ServiceMix?
http://servicemix.apache.org/kernel/65-deploying-security-providers.html
I don't know if that's what you're looking for, but it looks like a
good start. :)
On Tue, Sep 11, 2012 at 4:18 AM, Siano, Stephan <st...@sap.com> wrote:
> Hi,
>
> Has anyone tried to use bouncycastle as a crypto provider for the camel-crypto data type on an OSGi platform?
>
> I have tried the following rather naïve approach:
> Deploy camel-crypto along with the appropriate bouncycastle bundles from bouncy castle 1.47.
> Then I tried to access the crypto provider by using
> <camel:dataFormats>
> <camel:crypto id="pkcs7" cryptoProvider="bc"
> algorithm="DES/CBC/PKCS5Padding" keyRef="rsa" />
> </camel:dataFormats>
> in a blueprint descriptor. I got the following error message, even if I tried a Security.addProvider(new BouncyCastleProvider()) in some bean coding that was supposed to start beforehand:
>
> java.security.NoSuchProviderException: No such provider: bc
> at javax.crypto.Cipher.getInstance(DashoA13*..) ~[na:na]
> at org.apache.camel.converter.crypto.CryptoDataFormat.initializeCipher(CryptoDataFormat.java:100) ~[na:na]
> at org.apache.camel.converter.crypto.CryptoDataFormat.unmarshal(CryptoDataFormat.java:152) ~[na:na]
> at org.apache.camel.processor.UnmarshalProcessor.process(UnmarshalProcessor.java:58) ~[na:na]
> at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61) ~[na:na]
> at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) ~[na:na]
> at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) ~[na:na]
> at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) ~[na:na]
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:71) ~[na:na]
> at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) ~[na:na]
> at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) ~[na:na]
> at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) ~[na:na]
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:91) ~[na:na]
> at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) ~[na:na]
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:333) ~[na:na]
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:223) ~[na:na]
> at org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45) ~[na:na]
> at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) ~[na:na]
> at org.apache.camel.processor.interceptor.DefaultChannel.process(DefaultChannel.java:304) ~[na:na]
> at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) ~[na:na]
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:117) ~[na:na]
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:80) ~[na:na]
> ...
>
> Did anybody use the camel-crypto component with bouncycastle on a OSGi platform?
>
> Best regards
> Stephan
Re: bouncycastle as JCE crypto provider on OSGi
Posted by James Carman <ja...@carmanconsulting.com>.
Are you using ServiceMix?
http://servicemix.apache.org/kernel/65-deploying-security-providers.html
I don't know if that's what you're looking for, but it looks like a
good start. :)
On Tue, Sep 11, 2012 at 4:18 AM, Siano, Stephan <st...@sap.com> wrote:
> Hi,
>
> Has anyone tried to use bouncycastle as a crypto provider for the camel-crypto data type on an OSGi platform?
>
> I have tried the following rather naïve approach:
> Deploy camel-crypto along with the appropriate bouncycastle bundles from bouncy castle 1.47.
> Then I tried to access the crypto provider by using
> <camel:dataFormats>
> <camel:crypto id="pkcs7" cryptoProvider="bc"
> algorithm="DES/CBC/PKCS5Padding" keyRef="rsa" />
> </camel:dataFormats>
> in a blueprint descriptor. I got the following error message, even if I tried a Security.addProvider(new BouncyCastleProvider()) in some bean coding that was supposed to start beforehand:
>
> java.security.NoSuchProviderException: No such provider: bc
> at javax.crypto.Cipher.getInstance(DashoA13*..) ~[na:na]
> at org.apache.camel.converter.crypto.CryptoDataFormat.initializeCipher(CryptoDataFormat.java:100) ~[na:na]
> at org.apache.camel.converter.crypto.CryptoDataFormat.unmarshal(CryptoDataFormat.java:152) ~[na:na]
> at org.apache.camel.processor.UnmarshalProcessor.process(UnmarshalProcessor.java:58) ~[na:na]
> at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61) ~[na:na]
> at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) ~[na:na]
> at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) ~[na:na]
> at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) ~[na:na]
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:71) ~[na:na]
> at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) ~[na:na]
> at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) ~[na:na]
> at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) ~[na:na]
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:91) ~[na:na]
> at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) ~[na:na]
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:333) ~[na:na]
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:223) ~[na:na]
> at org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45) ~[na:na]
> at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) ~[na:na]
> at org.apache.camel.processor.interceptor.DefaultChannel.process(DefaultChannel.java:304) ~[na:na]
> at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) ~[na:na]
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:117) ~[na:na]
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:80) ~[na:na]
> ...
>
> Did anybody use the camel-crypto component with bouncycastle on a OSGi platform?
>
> Best regards
> Stephan