Some applications require specific security providers to be available, such as BouncyCastle. The JVM imposes some restrictions about the use of such provider JAR files, namely, that they need to be signed and be available on the boot classpath. One way to deploy such providers is to put them in the JRE folder at $JAVA_HOME/jre/lib/ext and modify each provider's security policy configuration ($JAVA_HOME/jre/lib/security/java.security) in order to register them. While this approach works fine, it has a global effect and requires that all servers are configured accordingly.
However Talend ESB offers a simple way to configure additional security providers:
put your provider jar in [karaf-install-dir]/lib/ext
modify the [karaf-install-dir]/etc/config.properties configuration file to add the following property:
org.apache.karaf.security.providers = xxx,yyyThe value of this property is a comma separated list of the provider class names to register. For example:
org.apache.karaf.security.providers = \\ org.bouncycastle.jce.provider.BouncyCastleProviderIn addition, you may want to provide access to the classes from those providers from the system bundle so that all bundles can access those. It can be done by modifying the org.osgi.framework.bootdelegation property in the same configuration file:
org.osgi.framework.bootdelegation = ...,org.bouncycastle*