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

Reply via email to