Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
aausekar opened this issue Apr 27, 2020 · 6 comments

Comments

@aausekar
Copy link

aausekar commented Apr 27, 2020

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

@hokitorres
Copy link
Collaborator

Hi, Could you review the value of the java.version system property? This is the reason the com.ibm.icu.util.VersionInfo class is throwing "Invalid version number: Version number may be negative or greater than 255".

@aausekar
Copy link
Author

aausekar commented Apr 28, 2020 via email

@aausekar
Copy link
Author

aausekar commented Apr 28, 2020 via email

@hokitorres
Copy link
Collaborator

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.

@aausekar
Copy link
Author

aausekar commented May 8, 2020 via email

@akalsnes
Copy link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants