Verschlüsselte Properties in Liquibase

643 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
643
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Verschlüsselte Properties in Liquibase

  1. 1. Verschlüsselte Properties für Liquibase JUG Saxony Happy Hour 06. Dezember 2012Montag, 10. Dezember 12
  2. 2. Dominik HirtMontag, 10. Dezember 12
  3. 3. http://www.efinia.deMontag, 10. Dezember 12
  4. 4. Personal Finance ManagementMontag, 10. Dezember 12
  5. 5. Montag, 10. Dezember 12
  6. 6. Problem liquibase.properties | defaultsFile driver: org.postgresql.Driver url: jdbc:postgresql://localhost:5432/efinia username: dbUser password: superGeheim42!Montag, 10. Dezember 12
  7. 7. #epicfailMontag, 10. Dezember 12
  8. 8. Ursache property member liquibase.integration.commandline.Main.parsePropertiesFileMontag, 10. Dezember 12
  9. 9. Lösung +Montag, 10. Dezember 12
  10. 10. Lösung Encrypting application Advanced + configuration configuration filesMontag, 10. Dezember 12
  11. 11. Encrypting application Advanced + configuration configuration filesMontag, 10. Dezember 12
  12. 12. enc. property decrypt member passwordMontag, 10. Dezember 12
  13. 13. Lösung EnvironmentStringPBEConfig pbeConfig = new EnvironmentStringPBEConfig(); pbeConfig.setPasswordEnvName(pbeVariable); StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor(); encryptor.setConfig(pbeConfig); EncryptableProperties props = new EncryptableProperties(encryptor); props.load(propertiesInputStream); if (value.startsWith("ENC")) { String env = System.getenv(pbeVariable); if (env == null || env.equals("")) { throw new RuntimeException("Unknown " + pbeVariable); } else { value = props.getProperty((String)entry.getKey()); } }Montag, 10. Dezember 12
  14. 14. Vorher driver: org.postgresql.Driver url: jdbc:postgresql://localhost:5432/efinia username: dbUser password: superGeheim42! Nachher driver: org.postgresql.Driver url: jdbc:postgresql://localhost:5432/efinia username: dbUser password: ENC(23cdFlcaHt54dZHP1o1TBw6aqTVw4)Montag, 10. Dezember 12
  15. 15. Don‘t repeat yourself liquibase-core liquibase.integration.commandline.Main.parsePropertiesFile liquibase-maven-plugin org.liquibase.maven.plugins.AbstractLiquibaseMojo.parsePropertiesFileMontag, 10. Dezember 12
  16. 16. https://github.com/dominik42/liquibaseMontag, 10. Dezember 12
  17. 17. d.hirt@efinia.deMontag, 10. Dezember 12
  18. 18. Montag, 10. Dezember 12

×