Шифрование конфиденциальной информации в конфигурации JBoss

Стандартная конфигурация источника данных в JBoss требует, чтобы имя пользователя и пароль пользователя базы данных находились в файле xxx-ds.xml. Если я определяю свой источник данных как c3p0 mbean, я сталкиваюсь с той же проблемой.

Существует ли стандартный способ шифрования пользователя и пароля? Что хорошего места для сохранения ключа?

Это, конечно, относится также к tomcat - файлам context.xml, spring конфигурационным файлам и т.д.

Ответ 2

для части spring, вы можете использовать собственное расширение spring PropertyPlaceholderConfigurer с переопределенным String convertPropertyValue (String originalValue). Поскольку javadoc для метода упоминает его (фактически в суперклассе PropertyResourceConfigurer):

Преобразуйте заданное значение свойства из источника свойств в значение, которое должно быть применено.

Реализация по умолчанию просто возвращает исходное значение. Может быть переопределено в подклассах, например, для обнаружения зашифрованных значений и их дешифрования соответственно.

Это означает, что вы можете настроить свой источник данных с помощью ${encoded.value} в файле spring xml и декодировать значение перед инъекцией декодированного значения в источник данных.