Encryption stops working after upgrade to Java™ SE Development Kit 7, Update 261 (JDK 7u261)
See original GitHub issueWe 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:
- Created 3 years ago
- Comments:6
Hi, there is a bug in the
icu4j
dependency version thatjasypt
is using: 3.4.4 ( a very old one). Bug is fixed inicu4j v4.4
. If you replace the oldicu4j
version for a newer one it would work.We will update
icu4j
dependency in next version.This is a major blocker for us. Is jasypt 1.9.4 scheduled to be released soon? Thank you.