JasyptPropertiesParser algorithm not getting loaded from kubernetes
- Dominant language
- TypeScript
- Stars
- 594
- Forks
- 215
- Avg merge
- 5d 11h
- Merged PRs (30d)
- 2
Description
### Describe the bug
We are using thie bean and trying to load JASYPT_PASSWORD and JASYPT_ALGO from application properties which takes values from kubernetes secret. But it works fine only in dev mode and in build mode it fails during project build. We have encrypted value and trying to print that value using camel route. Please suggest.
**application.properties**
JASYPT_PASSWORD={{secret:testsecret/key}}
jJASYPT_ALGO={{secret:testsecret/algorithm}}
test=ENC(encryptedvalue)
camel.test.yaml
- beans:
- name: jasyptPropertiesParser
type: org.apache.camel.component.jasypt.JasyptPropertiesParser
properties:
password: "{{JASYPT_PASSWORD}}"
algorithm: "{{JASYPT_ALGO}}"
- route:
id: route-bf2e
nodePrefixId: route-ae7
from:
id: from-09ab
uri: timer
parameters:
timerName: test
repeatCount: "2"
steps:
- log:
id: log-da68
message: "{{test}}"
Exception when running project in build mode.
Cloning into '/karavan/code'...
Generating fresh run data
org.apache.camel.FailedToCreateRouteException: Failed to create route route-bf2e at: >>> Log[{{test}] <<< in route: Route(route-bf2e)[From[timer:test?repeatCount=2] -> [Log[{{j... because of java.security.NoSuchAlgorithmException: @@CamelMagicValue@@ SecretKeyFactory not available
at org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:235)
at org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:86)
at org.apache.camel.impl.DefaultModelReifierFactory.createRoute(DefaultModelReifierFactory.java:49)
at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:736)
at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:597)
at org.apache.camel.impl.engine.AbstractCamelContext.doInit(AbstractCamelContext.java:2470)
at org.apache.camel.support.service.BaseService.init(BaseService.java:85)
at org.apache.camel.impl.engine.AbstractCamelContext.init(AbstractCamelContext.java:2100)
at org.apache.camel.support.service.BaseService.start(BaseService.java:115)
at org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2119)
at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:211)
at org.apache.camel.main.KameletMain.doStart(KameletMain.java:385)
at org.apache.camel.support.service.BaseService.start(BaseService.java:123)
at org.apache.camel.dsl.jbang.core.commands.Run.runKameletMain(Run.java:1458)
at org.apache.camel.dsl.jbang.core.commands.Run.run(Run.java:910)
at org.apache.camel.dsl.jbang.core.commands.Run.runExport(Run.java:353)
at org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.runSilently(ExportBaseCommand.java:344)
at org.apache.camel.dsl.jbang.core.commands.ExportCamelMain.export(ExportCamelMain.java:66)
at org.apache.camel.dsl.jbang.core.commands.Export.export(Export.java:165)
at org.apache.camel.dsl.jbang.core.commands.Export.export(Export.java:76)
at org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.doCall(ExportBaseCommand.java:267)
at org.apache.camel.dsl.jbang.core.commands.CamelCommand.call(CamelCommand.java:71)
at org.apache.camel.dsl.jbang.core.commands.CamelCommand.call(CamelCommand.java:37)
at picocli.CommandLine.executeUserObject(CommandLine.java:2045)
at picocli.CommandLine.access$1500(CommandLine.java:148)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2465)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2457)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2419)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2277)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2421)
at picocli.CommandLine.execute(CommandLine.java:2174)
at org.apache.camel.dsl.jbang.core.commands.CamelJBangMain.run(CamelJBangMain.java:196)
at org.apache.camel.dsl.jbang.core.commands.CamelJBangMain.run(CamelJBangMain.java:72)
at main.CamelJBang.main(CamelJBang.java:36)
Caused by: org.jasypt.exceptions.EncryptionInitializationException: java.security.NoSuchAlgorithmException: @@CamelMagicValue@@ SecretKeyFactory not available
at org.jasypt.encryption.pbe.StandardPBEByteEncryptor.initialize(StandardPBEByteEncryptor.java:773)
at org.jasypt.encryption.pbe.StandardPBEStringEncryptor.initialize(StandardPBEStringEncryptor.java:566)
at org.jasypt.encryption.pbe.StandardPBEStringEncryptor.decrypt(StandardPBEStringEncryptor.java:718)
at org.apache.camel.component.jasypt.JasyptPropertiesParser.parseProperty(JasyptPropertiesParser.java:65)
at org.apache.camel.component.properties.DefaultPropertiesParser$ParsingContext.doGetPropertyValue(DefaultPropertiesParser.java:513)
at org.apache.camel.component.properties.DefaultPropertiesParser$ParsingContext.getPropertyValue(DefaultPropertiesParser.java:391)
at org.apache.camel.component.properties.DefaultPropertiesParser$ParsingContext.readProperty(DefaultPropertiesParser.java:243)
at org.apache.camel.component.properties.DefaultPropertiesParser$ParsingContext.doParseNested(DefaultPropertiesParser.java:174)
at org.apache.camel.component.properties.DefaultPropertiesParser$ParsingContext.parse(DefaultPropertiesParser.java:121)
at org.apache.camel.component.properties.DefaultPropertiesParser.parseUri(DefaultPropertiesParser.java:73)
at org.apache.camel.component.properties.PropertiesComponent.parseUri(PropertiesComponent.java:344)
at org.apache.camel.component.properties.PropertiesComponent.parseUri(PropertiesComponent.java:175)
at org.apache.camel.impl.engine.DefaultCamelContextExtension.resolvePropertyPlaceholders(DefaultCamelContextExtension.java:351)
at org.apache.camel.impl.engine.AbstractCamelContext.resolvePropertyPlaceholders(AbstractCamelContext.java:1656)
at org.apache.camel.support.CamelContextHelper.parseText(CamelContextHelper.java:388)
at org.apache.camel.reifier.AbstractReifier.parseString(AbstractReifier.java:58)
at org.apache.camel.reifier.LogReifier.createProcessor(LogReifier.java:49)
at org.apache.camel.reifier.ProcessorReifier.makeProcessor(ProcessorReifier.java:848)
at org.apache.camel.reifier.ProcessorReifier.addRoutes(ProcessorReifier.java:621)
at org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:231)
... 33 more
Caused by: java.security.NoSuchAlgorithmException: @@CamelMagicValue@@ SecretKeyFactory not available
at java.base/javax.crypto.SecretKeyFactory.(SecretKeyFactory.java:118)
at java.base/javax.crypto.SecretKeyFactory.getInstance(SecretKeyFactory.java:164)
at org.jasypt.encryption.pbe.StandardPBEByteEncryptor.initialize(StandardPBEByteEncryptor.java:761)
... 52 more
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.057 s
[INFO] Finished at: 2025-11-27T08:55:57Z
[INFO] ------------------------------------------------------------------------
### Steps to reproduce the behavior
1. Go to '...'a
2. Click on '....'
3. Scroll down to '....'
4. See error
### Variant
Web Application
### Container Management (if applicable)
None
### Operating System (if applicable)
None
### Version
4.7.0
### Relevant log output
```shell
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the JasyptPropertiesParser configuration shown in camel.test.yaml and the values in application.properties, then reproduce the failure in build mode and compare it with dev mode. Trace how the JASYPT_ALGO secret reaches the parser; done means the algorithm loads successfully and the route can resolve and decrypt {{test}} without the NoSuchAlgorithmException.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, kubernetes
- Domain
- backend, devops
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100