According to the spring cloud config documentation, if we want to disable server side decryption and handle it by the client, we can put in server’s application.yml the following property :
spring:
cloud:
config:
server:
encrypt.enabled: false
In server side, a define an env variable ENCRYPT_KEY then a call a curl to get encrypted password, I update the configuration file then I commit it
export ENCRYPTED=`curl config-server/encrypt -d ms-password-prod`
echo "spring.data.mongodb.paswword='{cipher}$ENCRYPTED'" >> establishment-services-prod.yml
Now, when I call
curl -v config-server:9090/establishment-services/prod
I expect to see encrypted password but I get the password decrypted.
I used spring-boot 1.5.8 and spring-cloud Dalston.SR4.
You can find all the code in my Github account.