Hi there, I run CAS 5.2.3 as a standalone WEB Application war in the Tomcat container. I am trying to configure {cipher} option to encrypt passwords in the configuration files.
First, I added the following properties to CAS configuration and no {cipher} for any of the fields: cas.standalone.config.security.psw=SomePassword cas.standalone.config.security.alg=PBEWithMD5AndTripleDES CAS log produces the following result that looks like everything is fine, CAS works in the standalone mode and reads the password and the algorithm correctly. 2018-05-08 17:38:39,791 TRACE [org.springframework.cloud.bootstrap.encrypt.EncryptionBootstrapConfiguration$KeyCondition] - <Condition EncryptionBootstrapConfiguration.KeyCondition on org.springframework.cloud.bootstrap.encrypt.EncryptionBootstrapConfiguration$VanillaEncryptionConfiguration did not match due to Keystore nor key found in Environment> 2018-05-08 17:38:41,171 DEBUG [org.apereo.cas.configuration.support.CasConfigurationJasyptDecryptor] - <Configured jasyptInstance algorithm [PBEWithMD5AndTripleDES]> 2018-05-08 17:38:41,173 DEBUG [org.apereo.cas.configuration.support.CasConfigurationJasyptDecryptor] - <Configured jasyptInstance password> 2018-05-08 17:38:41,174 DEBUG [org.apereo.cas.configuration.support.CasConfigurationJasyptDecryptor] - <Configured jasyptInstance provider> 2018-05-08 17:38:41,406 DEBUG [org.apereo.cas.configuration.config.CasCoreBootstrapStandaloneConfiguration] - <No properties were located inside [class path resource [application.yml]]> 2018-05-08 17:38:41,407 DEBUG [org.apereo.cas.configuration.config.CasCoreBootstrapStandaloneConfiguration] - <Located CAS standalone configuration directory at [/Users/ik/Documents/xton/apps/apache-tomcat-8.5.15/conf]> 2018-05-08 17:38:41,415 DEBUG [org.apereo.cas.configuration.config.CasCoreBootstrapStandaloneConfiguration] - <Looking for configuration files at [/Users/ik/Documents/xton/apps/apache-tomcat-8.5.15/conf] that match the pattern [(cas|standalone|application-cas|application-standalone|application)\.(yml|properties)]> 2018-05-08 17:38:41,430 INFO [org.apereo.cas.configuration.config.CasCoreBootstrapStandaloneConfiguration] - <Configuration files found at [/Users/ik/Documents/xton/apps/apache-tomcat-8.5.15/conf] are [[/Users/ik/Documents/xton/apps/apache-tomcat-8.5.15/conf/cas.properties]]> 2018-05-08 17:38:41,438 DEBUG [org.apereo.cas.configuration.config.CasCoreBootstrapStandaloneConfiguration] - <Loading configuration file [/Users/ik/Documents/xton/apps/apache-tomcat-8.5.15/conf/cas.properties]> 2018-05-08 17:38:41,439 DEBUG [org.apereo.cas.configuration.config.CasCoreBootstrapStandaloneConfiguration] - <Found settings [[cas.standalone.config.security.alg, cas.standalone.config.security.psw]] in file [/Users/ik/Documents/xton/apps/apache-tomcat-8.5.15/conf/cas.properties]> 2018-05-08 17:38:41,442 DEBUG [org.apereo.cas.configuration.config.CasCoreBootstrapStandaloneConfiguration] - <Located setting(s) [[cas.standalone.config.security.alg, cas.standalone.config.security.psw]] from [/Users/ik/Documents/xton/apps/apache-tomcat-8.5.15/conf]> 2018-05-08 17:38:41,483 INFO [org.apereo.cas.web.CasWebApplicationServletInitializer] - <The following profiles are active: standalone> However, as soon as I add an encrypted field to one of the fields like this one cas.authn.ldap[1].bindCredential={cipher}EncryptedPassword CAS produces the following exception immediately after startup without CasConfigurationJasyptDecryptor initialization as it did without mention of the {cipher} encrypted fields. It seems that CAS is trying to decrypt the ciphered field before initializing the decryptor. 2018-05-08 17:47:02,231 TRACE [org.springframework.cloud.bootstrap.encrypt.EncryptionBootstrapConfiguration$KeyCondition] - <Condition EncryptionBootstrapConfiguration.KeyCondition on org.springframework.cloud.bootstrap.encrypt.EncryptionBootstrapConfiguration$VanillaEncryptionConfiguration did not match due to Keystore nor key found in Environment> 2018-05-08 17:47:03,565 ERROR [org.springframework.boot.SpringApplication] - <Application startup failed> java.lang.IllegalStateException: Cannot decrypt: key=cas.authn.ldap[1].bindCredential at org.springframework.cloud.bootstrap.encrypt.EnvironmentDecryptApplicationInitializer.decrypt(EnvironmentDecryptApplicationInitializer.java:201) ~[spring-cloud-context-1.2.4.RELEASE.jar:1.2.4.RELEASE] at org.springframework.cloud.bootstrap.encrypt.EnvironmentDecryptApplicationInitializer.decrypt(EnvironmentDecryptApplicationInitializer.java:165) ~[spring-cloud-context-1.2.4.RELEASE.jar:1.2.4.RELEASE] at org.springframework.cloud.bootstrap.encrypt.EnvironmentDecryptApplicationInitializer.initialize(EnvironmentDecryptApplicationInitializer.java:95) ~[spring-cloud-context-1.2.4.RELEASE.jar:1.2.4.RELEASE] at org.springframework.cloud.bootstrap.BootstrapApplicationListener$DelegatingEnvironmentDecryptApplicationInitializer.initialize(BootstrapApplicationListener.java:370) ~[spring-cloud-context-1.2.4.RELEASE.jar:1.2.4.RELEASE] at org.springframework.boot.SpringApplication.applyInitializers(SpringApplication.java:567) ~[spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE] at org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:338) ~[spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:301) ~[spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE] at org.springframework.boot.web.support.SpringBootServletInitializer.run(SpringBootServletInitializer.java:154) ~[spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE] at org.springframework.boot.web.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:134) ~[spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE] at org.springframework.boot.web.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:87) ~[spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE] at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:169) ~[spring-web-4.3.14.RELEASE.jar:4.3.14.RELEASE] at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5196) ~[catalina.jar:8.5.15] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ~[catalina.jar:8.5.15] at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752) ~[catalina.jar:8.5.15] at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728) ~[catalina.jar:8.5.15] at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734) ~[catalina.jar:8.5.15] at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:952) ~[catalina.jar:8.5.15] at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1823) ~[catalina.jar:8.5.15] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_131] at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_131] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[?:1.8.0_131] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[?:1.8.0_131] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131] Caused by: java.lang.UnsupportedOperationException: No decryption for FailsafeTextEncryptor. Did you configure the keystore correctly? at org.springframework.cloud.bootstrap.encrypt.EncryptionBootstrapConfiguration$FailsafeTextEncryptor.decrypt(EncryptionBootstrapConfiguration.java:154) ~[spring-cloud-context-1.2.4.RELEASE.jar:1.2.4.RELEASE] at org.springframework.cloud.bootstrap.encrypt.EnvironmentDecryptApplicationInitializer.decrypt(EnvironmentDecryptApplicationInitializer.java:193) ~[spring-cloud-context-1.2.4.RELEASE.jar:1.2.4.RELEASE] ... 22 more I would appreciate any help about how to make ciphered fields work. I followed CAS/LDAP/Jasypt tutorial about how to make cipher fields in the standalone CAS configuration (at least I think so): https://apereo.github.io/2017/03/24/cas51-ldapauthnjasypt-tutorial/. Thank you, Mark -- - Website: https://apereo.github.io/cas - Gitter Chatroom: https://gitter.im/apereo/cas - List Guidelines: https://goo.gl/1VRrw7 - Contributions: https://goo.gl/mh7qDG --- You received this message because you are subscribed to the Google Groups "CAS Community" group. To unsubscribe from this group and stop receiving emails from it, send an email to cas-user+unsubscr...@apereo.org. To view this discussion on the web visit https://groups.google.com/a/apereo.org/d/msgid/cas-user/494ed223-b23c-411b-a4b8-7641936f8d10%40apereo.org.