spring-cloud / spring-cloud-config

External configuration (server and client) for Spring Cloud
Apache License 2.0
1.96k stars 1.29k forks source link

password encrypted with jasypt is breaking when "refreshed" using actuator/bus-refresh #1567

Closed krishna2025 closed 4 years ago

krishna2025 commented 4 years ago

Hi tannaga , @tannaga https://github.com/spring-cloud/spring-cloud-config/issues/808#issuecomment-334249042

@spencergibb @ryanjbaxter @jnulwliang @sathish593 I am facing similar issue, I followed the procedure mentioned. spring: cloud: config: server: encrypt: enabled: false (so that configserver will not encript).

Created org.springframework.cloud.bootstrap.BootstrapConfiguration=com.ulisesbocchio.jasyptspringboot.JasyptSpringBootAutoConfiguration under META-INF/spring.factories under resource folder , but still I am facing issue, I am reading property from gitlab" the encripted pwd with ENC(xx)" at application.yml , during configServer starup and application startup I am able to see decripted pwd properly, If I change a property in applicatio.yml and hit actuator/bus-refresh "the decripted pwd is populating as change ex: o.s.cloud.bus.event.RefreshListener - Received remote refresh request. Keys refreshed [password] " but I did not change anything on this property. Can some one help on this?

ryanjbaxter commented 4 years ago

If you can provide a sample and a better description of the problem we would be happy to help.

Please learn how to format code on GitHub.

krishna2025 commented 4 years ago

Hi @ryanjbaxter Thx for quick reply.

db2: datasource: jdbc-url: jdbc:db2://hostname:port/database:currentSchema=default
username: password: ENC(cppertuvnh) driverClassName: com.ibm.db2.jcc.DB2Driver schema: default spring: datasource: type: com.zaxxer.hikari.HikariDataSource hikari: connection-timeout: 20000 maximum-pool-size: 20

minimum-idle: 2

  #idle-timeout: 10000
  pool-name: HikariConnectionPool
  pool-prepared-statements: true

I am maintaining these properties at application-dev1.yml file in Git. I'm using jasypt-spring-boot-starter (2.1.0) in a spring cloud config project.When the config loads for the firt time from config server the encrypted values are getting properly decrypted. But when i do a refresh via actuator endpoint the encrypted value is passed as is and not getting decrypted. Iam having following properties in cloud configuration and passing the password via JVM run time argument -Djasypt.encryptor.password=pass.

krishna2025 commented 4 years ago

@ramkumarar I'm using jasypt-spring-boot-starter (2.1.0) in a spring cloud config project.When the config loads for the firt time from config server the encrypted values are getting properly decrypted. But when i do a refresh via actuator endpoint the encrypted value is passed as is and not getting decrypted. Iam having following properties in cloud configuration and passing the password via JVM run time argument -Djasypt.encryptor.password=pass

app.enc.attribute = ENC(hKF3c7lizZKAi75e9q9JCQ==) jasypt.encryptor.bootstrap = true jasypt.encryptor.algorithm = PBEWITHMD5ANDTRIPLEDES

I see in your post https://github.com/ulisesbocchio/jasypt-spring-boot/issues/112 above issue was resloved, can u please help how did u do that ? Step by step process

ryanjbaxter commented 4 years ago

Can you provide a complete, minimal, verifiable sample that reproduces the problem? It should be available as a GitHub (or similar) project or attached to this issue as a zip file.

Please learn how to format code on GitHub.

spring-projects-issues commented 4 years ago

If you would like us to look at this issue, please provide the requested information. If the information is not provided within the next 7 days this issue will be closed.

spring-projects-issues commented 4 years ago

Closing due to lack of requested feedback. If you would like us to look at this issue, please provide the requested information and we will re-open the issue.