Как зашифровать пароли в файлах конфигурации, Grails [и Java] - PullRequest
6 голосов
/ 26 июля 2010

Я ищу пошаговое руководство по защите паролей, вставленных в файлы конфигурации, в Grails. Это означает защиту паролей в Config.groovy и DataSource.groovy. Есть много результатов Google, которые содержат кусочки ответа, но нет кратких руководств о том, как это сделать. Может кто-нибудь, пожалуйста, укажите мне в правильном направлении? Thanx

Ответы [ 3 ]

5 голосов
/ 27 июля 2010

Для Config.groovy вы всегда можете просто каким-то образом зашифровать пароль и затем вручную добавить этот хэш в Config.groovy.Если вам нужно использовать его в своем коде, используйте некоторый код для его расшифровки.Кажется, это не сложно.

DataSource.groovy - это другое животное, так как он подается в Hibernate API для вас.Я видел некоторый код, подобный этому, на межсетях, и кажется, что он движется в правильном направлении ...

dataSource { 
   pooled = false 
   driverClassName = "org.hsqldb.jdbcDriver" 
   username = "sa" 
   password =  someEncryptionApiObject.decrypt(propertyFile.readProperty("MyPassword")) 
} 

... где вы должны зашифровать файл свойств, содержащий необходимые данные, ирасшифровывать при необходимости.

1 голос
/ 26 июля 2010

Вопрос: от чего вы хотите защитить свой конфигурационный файл?Одной из возможностей будет использование шифрования файловой системы.Другой способ - зашифровать файл надежным паролем и запросить пароль при запуске приложений.Но учтите, что приложение не может быть перезапущено без повторного ввода пароля!

Взгляните на документацию Apache httpd , чтобы узнать, как Apache решает ту же проблему.

0 голосов
/ 26 июля 2010

Config.groovy и DataSource.groovy это не файл конфигурации, это класс конфигурации.Скомпилированные результаты не читаются напрямую.

Обновление

Использование инструмента запутывания в ваших классах конфигурации.Вот список .

...