Menu

#42 WebPBEConfig does not work properly with encryptable-property-placeholder

v1.5
open
nobody
None
5
2015-08-07
2015-08-07
No

I'm trying to use the WebPBEConfig in conjunction with encryptable-property-placeholder, but it does not seem to work.
It breaks at context initialization.

Web.xml
<filter>
<filter-name>webPBEConfigFilter</filter-name>
<filter-class>org.jasypt.web.pbeconfig.WebPBEConfigFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>webPBEConfigFilter</filter-name>
    <servlet-name>strutsActionServlet</servlet-name>
</filter-mapping>

<servlet>
<servlet-name>webPBEConfigServlet</servlet-name>
<servlet-class>
org.jasypt.web.pbeconfig.WebPBEConfigServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>webPBEConfigServlet</servlet-name>
<url-pattern>/webPBEConfig.do</url-pattern>
</servlet-mapping>

application-context.xml
<bean id="webConf" class="org.jasypt.encryption.pbe.config.WebPBEConfig">
<property name="validationWord" value="testsecret!"/>
<property name="name" value="Main Password"/>
</bean>

    <bean id="stringEnc" class="org.jasypt.encryption.pbe.StandardPBEStringEncryptor">
        <property name="algorithm" value="PBEWithMD5AndDES"/>
        <property name="config" ref="webConf"/>
    </bean>

    <jasypt:encryptable-property-placeholder encryptor="stringEnc" location="classpath:properties/core-api.properties"/>

Exception:
o.s.web.context.ContextLoader - Context initialization failed
java.lang.NullPointerException: null
at org.jasypt.encryption.pbe.config.SimplePBEConfig.getPasswordCharArray(SimplePBEConfig.java:434) ~[jasypt-1.9.2.jar:na]
at org.jasypt.encryption.pbe.StandardPBEByteEncryptor.resolveConfigurationPassword(StandardPBEByteEncryptor.java:783) ~[jasypt-1.9.2.jar:na]
at org.jasypt.encryption.pbe.StandardPBEByteEncryptor.initialize(StandardPBEByteEncryptor.java:598) ~[jasypt-1.9.2.jar:na]
at org.jasypt.encryption.pbe.StandardPBEStringEncryptor.initialize(StandardPBEStringEncryptor.java:553) ~[jasypt-1.9.2.jar:na]
at org.jasypt.encryption.pbe.StandardPBEStringEncryptor.decrypt(StandardPBEStringEncryptor.java:705) ~[jasypt-1.9.2.jar:na]
at org.jasypt.properties.PropertyValueEncryptionUtils.decrypt(PropertyValueEncryptionUtils.java:72) ~[jasypt-1.9.2.jar:na]
at org.jasypt.spring31.properties.EncryptablePropertySourcesPlaceholderConfigurer.convertPropertyValue(EncryptablePropertySourcesPlaceholderConfigurer.java:143) ~[jasypt-spring31-1.9.2.jar:na]
at org.springframework.beans.factory.config.PropertyResourceConfigurer.convertProperty(PropertyResourceConfigurer.java:123) ~[spring-beans-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at org.springframework.beans.factory.config.PropertyResourceConfigurer.convertProperties(PropertyResourceConfigurer.java:106) ~[spring-beans-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at org.jasypt.spring31.properties.EncryptablePropertySourcesPlaceholderConfigurer.convertProperties(EncryptablePropertySourcesPlaceholderConfigurer.java:125) ~[jasypt-spring31-1.9.2.jar:na]
at org.jasypt.spring31.properties.EncryptablePropertySourcesPlaceholderConfigurer.mergeProperties(EncryptablePropertySourcesPlaceholderConfigurer.java:112) ~[jasypt-spring31-1.9.2.jar:na]
at org.springframework.context.support.PropertySourcesPlaceholderConfigurer.postProcessBeanFactory(PropertySourcesPlaceholderConfigurer.java:142) ~[spring-context-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:265) ~[spring-context-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:162) ~[spring-context-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:606) ~[spring-context-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:462) ~[spring-context-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:403) ~[spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306) ~[spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106) [spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at weblogic.servlet.internal.EventsManager$FireContextListenerAction.run(EventsManager.java:678) [weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) [weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) [com.oracle.css.weblogic.security.wls_7.1.0.0.jar:CSS 7.1 0.0]
at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57) [weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.servlet.internal.EventsManager.executeContextListener(EventsManager.java:243) [weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.servlet.internal.EventsManager.notifyContextCreatedEvent(EventsManager.java:200) [weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.servlet.internal.EventsManager.notifyContextCreatedEvent(EventsManager.java:185) [weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1838) [weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:2876) [weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1661) [weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:823) [weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.application.internal.ExtensibleModuleWrapper$StartStateChange.next(ExtensibleModuleWrapper.java:360) [weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.application.internal.ExtensibleModuleWrapper$StartStateChange.next(ExtensibleModuleWrapper.java:356) [weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:42) [weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.application.internal.ExtensibleModuleWrapper.start(ExtensibleModuleWrapper.java:138) [weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:124) [weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:216) [weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:211) [weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:42) [weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:73) [weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:24) [weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:729) [weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:42) [weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:258) [weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.application.internal.SingleModuleDeployment.activate(SingleModuleDeployment.java:48) [weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:165) [weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:80) [weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.deploy.internal.targetserver.BasicDeployment.activate(BasicDeployment.java:226) [weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.deploy.internal.targetserver.BasicDeployment.activateFromServerLifecycle(BasicDeployment.java:418) [weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.management.deploy.internal.DeploymentAdapter$1.doActivate(DeploymentAdapter.java:51) [weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.management.deploy.internal.DeploymentAdapter.activate(DeploymentAdapter.java:200) [weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.management.deploy.internal.AppTransition$2.transitionApp(AppTransition.java:30) [weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:240) [weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.management.deploy.internal.ConfiguredDeployments.activate(ConfiguredDeployments.java:169) [weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:123) [weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:210) [weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:118) [weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.server.AbstractServerService.postConstruct(AbstractServerService.java:78) [weblogic.server.merged.jar:12.1.3.0.0]
at sun.reflect.GeneratedMethodAccessor11.invoke(Unknown Source) ~[na:na]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_75]
at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_75]
at org.glassfish.hk2.utilities.reflection.ReflectionHelper.invoke(ReflectionHelper.java:1017) [weblogic.server.merged.jar:12.1.3.0.0]
at org.jvnet.hk2.internal.ClazzCreator.postConstructMe(ClazzCreator.java:388) [weblogic.server.merged.jar:12.1.3.0.0]
at org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:430) [weblogic.server.merged.jar:12.1.3.0.0]
at org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:456) [weblogic.server.merged.jar:12.1.3.0.0]
at org.glassfish.hk2.runlevel.internal.AsyncRunLevelContext.findOrCreate(AsyncRunLevelContext.java:225) [weblogic.server.merged.jar:12.1.3.0.0]
at org.glassfish.hk2.runlevel.RunLevelContext.findOrCreate(RunLevelContext.java:82) [weblogic.server.merged.jar:12.1.3.0.0]
at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2488) [weblogic.server.merged.jar:12.1.3.0.0]
at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:98) [weblogic.server.merged.jar:12.1.3.0.0]
at org.jvnet.hk2.internal.ServiceLocatorImpl.getService(ServiceLocatorImpl.java:606) [weblogic.server.merged.jar:12.1.3.0.0]
at org.jvnet.hk2.internal.ThreeThirtyResolver.resolve(ThreeThirtyResolver.java:77) [weblogic.server.merged.jar:12.1.3.0.0]
at org.jvnet.hk2.internal.ClazzCreator.resolve(ClazzCreator.java:231) [weblogic.server.merged.jar:12.1.3.0.0]
at org.jvnet.hk2.internal.ClazzCreator.resolveAllDependencies(ClazzCreator.java:254) [weblogic.server.merged.jar:12.1.3.0.0]
at org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:413) [weblogic.server.merged.jar:12.1.3.0.0]
at org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:456) [weblogic.server.merged.jar:12.1.3.0.0]
at org.glassfish.hk2.runlevel.internal.AsyncRunLevelContext.findOrCreate(AsyncRunLevelContext.java:225) [weblogic.server.merged.jar:12.1.3.0.0]
at org.glassfish.hk2.runlevel.RunLevelContext.findOrCreate(RunLevelContext.java:82) [weblogic.server.merged.jar:12.1.3.0.0]
at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2488) [weblogic.server.merged.jar:12.1.3.0.0]
at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:98) [weblogic.server.merged.jar:12.1.3.0.0]
at org.jvnet.hk2.internal.ServiceLocatorImpl.getService(ServiceLocatorImpl.java:606) [weblogic.server.merged.jar:12.1.3.0.0]
at org.jvnet.hk2.internal.ThreeThirtyResolver.resolve(ThreeThirtyResolver.java:77) [weblogic.server.merged.jar:12.1.3.0.0]
at org.jvnet.hk2.internal.ClazzCreator.resolve(ClazzCreator.java:231) [weblogic.server.merged.jar:12.1.3.0.0]
at org.jvnet.hk2.internal.ClazzCreator.resolveAllDependencies(ClazzCreator.java:254) [weblogic.server.merged.jar:12.1.3.0.0]
at org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:413) [weblogic.server.merged.jar:12.1.3.0.0]
at org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:456) [weblogic.server.merged.jar:12.1.3.0.0]
at org.glassfish.hk2.runlevel.internal.AsyncRunLevelContext.findOrCreate(AsyncRunLevelContext.java:225) [weblogic.server.merged.jar:12.1.3.0.0]
at org.glassfish.hk2.runlevel.RunLevelContext.findOrCreate(RunLevelContext.java:82) [weblogic.server.merged.jar:12.1.3.0.0]
at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2488) [weblogic.server.merged.jar:12.1.3.0.0]
at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:98) [weblogic.server.merged.jar:12.1.3.0.0]
at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:87) [weblogic.server.merged.jar:12.1.3.0.0]
at org.glassfish.hk2.runlevel.internal.CurrentTaskFuture$QueueRunner.oneJob(CurrentTaskFuture.java:1162) [weblogic.server.merged.jar:12.1.3.0.0]
at org.glassfish.hk2.runlevel.internal.CurrentTaskFuture$QueueRunner.run(CurrentTaskFuture.java:1147) [weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:548) [weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311) [weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.work.ExecuteThread.run(ExecuteThread.java:263) [weblogic.server.merged.jar:12.1.3.0.0]
<Aug 7,="" 2015="" 2:00:22="" PM="" EDT=""> <Warning> <HTTP> <BEA-101162> <User defined listener org.springframework.web.context.ContextLoaderListener failed: java.lang.NullPointerException.

Discussion


Log in to post a comment.