You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by harald <su...@rainyday.de> on 2015/04/24 12:25:45 UTC

Encrypted params for beans and camel routes within blueprint

Hello,

within SMX 4.5.3, with jasypt-encryption and camel-jasypt loaded, a I try to enable the usage of encrypted parameters for beans and camel routes within the same blueprint. If I copy the blueprint into the deploy folder it works. If I put the blueprint into a bundle and load it from the maven repository I see exceptions:

org.osgi.service.blueprint.container.ComponentDefinitionException: Unable to load class org.jasypt.encryption.pbe.StandardPBEStringEncryptor from recipe BeanRecipe[name='#recipe-84']
  <stacktrace removed>
Caused by: java.lang.ClassNotFoundException: org.jasypt.encryption.pbe.StandardPBEStringEncryptor not found by encconfig [4418]
  <stacktrace removed>

So I added

  org.jasypt.encryption.pbe;version=1.9.1_2;

to Import-Package. Then I 

Error executing command: Could not start bundle mvm:harad.test/encconfig/0.0.1-SNAPSHOT in feature(s) CONFIG-TEST-0.0.1: Uses constraint violation. Unable to resolve module encconfig [4421.0] because it is exposed to package 'org.jasypt.encryption.pbe.config' from modules org.apache.servicemix.bundles.jasypt [47.0] and org.apache.servicemix.bundles.jasypt [4420.0] via two dependency chains.

Chain 1:
  encconfig [4421.0]
    import: (package=org.jasypt.encryption.pbe.config)
     |
    export: package=org.jasypt.encryption.pbe.config
  org.apache.servicemix.bundles.jasypt [47.0]

Chain 2:
  encconfig [4421.0]
    import: (&(package=org.jasypt.encryption.pbe)(version>=1.9.1.2))
     |
    export: package=org.jasypt.encryption.pbe; uses:=org.jasypt.encryption.pbe.config
    export: package=org.jasypt.encryption.pbe.config
  org.apache.servicemix.bundles.jasypt [4420.0]

The blueprint looks pretty mutch like [1], only thing is that the property “passwordEnvName” has to be “password” to make it work within the deploy-folder. But I tried both and neither password nor passwordEnvName works from within the bundle. The camel part like [2].

And I found [3] which is exactly what I try to do, but it does not work either, so I skip my blueprint here.

What am I missing???  Thanks for any comment.

Regards,
harald

[1] http://blog.nanthrax.net/2014/10/encrypt-configadmin-properties-values-in-apache-karaf/
[2] http://camel.apache.org/jasypt.html
[3] http://stackoverflow.com/questions/24825073/using-jasypt-outside-camel-context