question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Encryption stops working after upgrade to Java™ SE Development Kit 7, Update 261 (JDK 7u261)

See original GitHub issue

We recently upgraded to JDK 7u261 from JDK 7u251 as the new release was available to Java SE support customers on April 15, 2020. The Jasypt encryption stopped working after this Java version upgrade. I receive the following error message; Apr 27, 2020 9:45:15 AM org.apache.catalina.core.StandardContext listenerStart SEVERE: Exception sending context initialized event to listener instance of class [org.springframework.web.context.ContextLoaderListener] org.jasypt.exceptions.EncryptionInitializationException: java.lang.ExceptionInInitializerError 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.jasypt.properties.PropertyValueEncryptionUtils.decrypt(PropertyValueEncryptionUtils.java:72) at org.jasypt.spring.properties.EncryptablePropertyPlaceholderConfigurer.convertPropertyValue(EncryptablePropertyPlaceholderConfigurer.java:111) at org.springframework.beans.factory.config.PropertyResourceConfigurer.convertProperty(PropertyResourceConfigurer.java:121) at org.springframework.beans.factory.config.PropertyResourceConfigurer.convertProperties(PropertyResourceConfigurer.java:104) at org.springframework.beans.factory.config.PropertyResourceConfigurer.postProcessBeanFactory(PropertyResourceConfigurer.java:81) at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:694) at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:669) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:461) at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:294) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5136) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5662) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:1007) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:983) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:639) at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1296) at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:2038) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:622) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.ExceptionInInitializerError at com.ibm.icu.impl.NormalizerDataReader.<clinit>(NormalizerDataReader.java:300) at com.ibm.icu.impl.NormalizerImpl.<init>(NormalizerImpl.java:288) at com.ibm.icu.impl.NormalizerImpl.<clinit>(NormalizerImpl.java:35) at com.ibm.icu.text.Normalizer$Mode.normalize(Normalizer.java:188) at com.ibm.icu.text.Normalizer.normalize(Normalizer.java:1177) at com.ibm.icu.text.Normalizer.normalize(Normalizer.java:1146) at org.jasypt.normalization.Normalizer.normalizeWithIcu4j(Normalizer.java:205) at org.jasypt.normalization.Normalizer.normalizeToNfc(Normalizer.java:129) at org.jasypt.encryption.pbe.StandardPBEByteEncryptor.initialize(StandardPBEByteEncryptor.java:718) ... 26 more Caused by: java.lang.IllegalArgumentException: Invalid version number: Version number may be negative or greater than 255 at com.ibm.icu.util.VersionInfo.getInstance(VersionInfo.java:188) at com.ibm.icu.impl.ICUDebug.getInstanceLenient(ICUDebug.java:65) at com.ibm.icu.impl.ICUDebug.<clinit>(ICUDebug.java:69) ... 35 more

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:6

github_iconTop GitHub Comments

4reactions
hokitorrescommented, Apr 29, 2020

Hi, there is a bug in the icu4j dependency version that jasypt is using: 3.4.4 ( a very old one). Bug is fixed in icu4j v4.4. If you replace the old icu4j version for a newer one it would work.

We will update icu4j dependency in next version.

3reactions
akalsnescommented, Jul 16, 2020

This is a major blocker for us. Is jasypt 1.9.4 scheduled to be released soon? Thank you.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Jasypt encryption stops working after upgrade to JDK 7u261
The problem I was facing with java 8 as well, upgrading icu dependency solved my issue.
Read more >
Java SE 7 Advanced - Oracle
Java™ SE Development Kit 7, Update 351 (JDK 7u351). July 19, 2022. The full version string for this update release is 7u351-b07 (where...
Read more >
Jasypt encryption stops working after upgrade to JDK 7u261 ...
See also the following bug report in the Jasypt project: "Encryption stops working after upgrade to Java™ SE Development Kit 7, Update 261...
Read more >
Configure Oracle's JDK and JRE Cryptographic Algorithms
TLS 1.2 has been the default-enabled TLS protocol for JDK 8 since its release. ... On JDK 7, for TLS 1.2, the cipher...
Read more >
Step 2: Install JCE Policy Files for AES-256 Encryption
Note: This step is not required when using JDK 1.8.0_161 or greater. ... Check the box labeled Install Oracle Java SE Development Kit...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found