View
362
Download
3
Category
Preview:
Citation preview
Verschlüsselte Propertiesfür Liquibase
JUG Saxony Happy Hour 06. Dezember 2012
Montag, 10. Dezember 12
Dominik Hirt
Montag, 10. Dezember 12
Personal Finance Management
Montag, 10. Dezember 12
Montag, 10. Dezember 12
Problem
driver: org.postgresql.Driverurl: jdbc:postgresql://localhost:5432/efiniausername: dbUserpassword: superGeheim42!
liquibase.properties | defaultsFile
Montag, 10. Dezember 12
#epicfail
Montag, 10. Dezember 12
Ursache
property member
liquibase.integration.commandline.Main.parsePropertiesFile
Montag, 10. Dezember 12
Lösung
+
Montag, 10. Dezember 12
+
Encrypting application
configurationfiles
Advanced configuration
Lösung
Montag, 10. Dezember 12
+
Encrypting application
configurationfiles
Advanced configuration
Montag, 10. Dezember 12
enc. property decrypt member
password
Montag, 10. Dezember 12
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
Vorher
Nachher
driver: org.postgresql.Driverurl: jdbc:postgresql://localhost:5432/efiniausername: dbUserpassword: superGeheim42!
driver: org.postgresql.Driverurl: jdbc:postgresql://localhost:5432/efiniausername: dbUserpassword: ENC(23cdFlcaHt54dZHP1o1TBw6aqTVw4)
Montag, 10. Dezember 12
Don‘t repeat yourself
liquibase-core
liquibase.integration.commandline.Main.parsePropertiesFile
liquibase-maven-plugin
org.liquibase.maven.plugins.AbstractLiquibaseMojo.parsePropertiesFile
Montag, 10. Dezember 12
https://github.com/dominik42/liquibase
Montag, 10. Dezember 12
Montag, 10. Dezember 12
Recommended