Error while enabling Remote JMX SSL with encrypted porperty placeholders

Solution Verified - Updated -

Issue

  • How to encrypt password in JAAS LDAP realm in fuse
  • Facing following error message after restarting the fuse instance:
2015-03-06 15:33:38,769 | ERROR | l-0.0.0-thread-1 | ServiceRecipe                    | ?                                   ? | 9 - org.apache.aries.blueprint.core - 1.0.1.redhat-610379 | Error retrieving service from ServiceRecipe[name='sample_keystore']
org.osgi.service.blueprint.container.ComponentDefinitionException: Error setting property: PropertyDescriptor <name: keyPasswords, getter: null, setter: [class org.apache.karaf.jaas.config.impl.ResourceKeystoreInstance.setKeyPasswords(class java.lang.String)]
    at org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:941)[9:org.apache.aries.blueprint.core:1.0.1.redhat-610379]
    at org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:907)[9:org.apache.aries.blueprint.core:1.0.1.redhat-610379]
    at org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:888)[9:org.apache.aries.blueprint.core:1.0.1.redhat-610379]
    at org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:820)[9:org.apache.aries.blueprint.core:1.0.1.redhat-610379]
    at org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:787)[9:org.apache.aries.blueprint.core:1.0.1.redhat-610379]
    at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:106)[9:org.apache.aries.blueprint.core:1.0.1.redhat-610379]
    at org.apache.aries.blueprint.container.ServiceRecipe.createService(ServiceRecipe.java:290)[9:org.apache.aries.blueprint.core:1.0.1.redhat-610379]
    at org.apache.aries.blueprint.container.ServiceRecipe.internalGetService(ServiceRecipe.java:257)[9:org.apache.aries.blueprint.core:1.0.1.redhat-610379]
    at org.apache.aries.blueprint.container.ServiceRecipe.internalCreate(ServiceRecipe.java:147)[9:org.apache.aries.blueprint.core:1.0.1.redhat-610379]
    at org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)[9:org.apache.aries.blueprint.core:1.0.1.redhat-610379]
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.0_65]
    at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[9:org.apache.aries.blueprint.core:1.0.1.redhat-610379]
    at org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:245)[9:org.apache.aries.blueprint.core:1.0.1.redhat-610379]
    at org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:183)[9:org.apache.aries.blueprint.core:1.0.1.redhat-610379]
    at org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:676)[9:org.apache.aries.blueprint.core:1.0.1.redhat-610379]
    at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:374)[9:org.apache.aries.blueprint.core:1.0.1.redhat-610379]
    at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:261)[9:org.apache.aries.blueprint.core:1.0.1.redhat-610379]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)[:1.7.0_65]
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.0_65]
    at org.apache.aries.blueprint.container.ExecutorServiceWrapper.run(ExecutorServiceWrapper.java:106)[9:org.apache.aries.blueprint.core:1.0.1.redhat-610379]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[:1.7.0_65]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[:1.7.0_65]
    at java.lang.Thread.run(Thread.java:745)[:1.7.0_65]
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
    at java.lang.String.substring(String.java:1911)[:1.7.0_65]
    at org.apache.karaf.jaas.config.impl.ResourceKeystoreInstance.setKeyPasswords(ResourceKeystoreInstance.java:133)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.7.0_65]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)[:1.7.0_65]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_65]
    at java.lang.reflect.Method.invoke(Method.java:606)[:1.7.0_65]
    at org.apache.aries.blueprint.utils.ReflectionUtils$MethodPropertyDescriptor.internalSet(ReflectionUtils.java:628)[9:org.apache.aries.blueprint.core:1.0.1.redhat-610379]
    at org.apache.aries.blueprint.utils.ReflectionUtils$PropertyDescriptor.set(ReflectionUtils.java:378)[9:org.apache.aries.blueprint.core:1.0.1.redhat-610379]

Environment

  • Red Hat JBoss Fuse
    • 6.1.0

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content