在安装新的hybris实例时,我试图更改symmetric.key.master.password。但是它在服务器启动时抛出以下错误。
请注意:我创建了带有随机文本/数字的symmetric.key.master.password,例如(JOSD53FJPjas1243ojdf9872rIJDFOJS3DioaIUOSI64Dj4foiaew12fIIOAS)
错误:
[java] ERROR [main] [EncryptionUtil] pad block corrupted
[java] javax.crypto.BadPaddingException: pad block corruptedWARN [main] [CloseAwareApplicationContext] Exception encountered during context initialization - cancelling refresh attempt
[java] at org.bouncycastle.jce.provider.JCEBlockCipher.engineDoFinal(Unknown Source)
[java] at javax.crypto.Cipher.doFinal(Cipher.java:2165)
[java] at de.hybris.platform.util.encryption.EncryptionUtil.loadKey(EncryptionUtil.java:527)
[java] at de.hybris.platform.util.encryption.EncryptionUtil.loadKey(EncryptionUtil.java:484)
[java] at de.hybris.platform.util.encryption.EncryptionUtil.loadKey(EncryptionUtil.java:429)
[java]
[java] at de.hybris.platform.core.MasterTenant.readKeyFiles(MasterTenant.java:235)
[java] at de.hybris.platform.core.MasterTenant.getValueEncryptor(MasterTenant.java:147)
[java] at de.hybris.platform.directpersistence.read.DefaultSLDItemDAO.init(DefaultSLDItemDAO.java:69)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[java] at java.lang.reflect.Method.invoke(Method.java:498)
[java] at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:349)
[java] at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:300)
[java] at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:133)
[java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:408)
[java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1566)
[java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539)
[java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
[java] at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303)
[java] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
[java] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299)
[java] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
[java] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:351)编辑:-
local.properties更改:
symmetric.key.file.1=default-128-bit-aes-key.hybris
symmetric.key.file.2=Generated-256-Bit-AES-Key2.hybris
symmetric.key.file.default=2
symmetric.key.master.password=1234567具有以上配置,可以很好地工作(hybrisserver.sh/ant initialize等)。但是,如果我试图将master.password更改为1234568,则会抛出pad block corrupted而不是hybrisserver.sh/ant initialize。我还尝试使用新数据库(drop/create)并执行ant initialize,得到相同的错误。它只与OOTB master.password (1234567)一起工作。
发布于 2017-06-06 08:51:16
从您的堆栈跟踪来看,我认为这个问题可能与加载symmetric.key.file有关。
请尝试使用Hel.hybris.com/透明属性加密(TAE) -海布里V6给出的建议重新生成对称密钥
发布于 2017-06-05 08:47:40
如果您可以访问Hybris,请参阅此链接,它可能会帮助您透明属性加密。
https://stackoverflow.com/questions/44362352
复制相似问题