Weblogic: шифровать свойства
Сервер приложений Weblogic 10g и выше шифрует пароли источника данных и т. Д. В файлах конфигурации, что обычно хорошо.
Для сторонней библиотеки я должен предоставить учетные данные через мое приложение (EAR/WAR), которые отличаются в разных средах.
Я знаю о plan.xml
/ <env-entry/>
Подход, но, насколько мне известно, это может только заменить / изменить дескриптор развертывания с литеральными значениями, а не с зашифрованными значениями - по крайней мере, я не нашел ни одного примера.
В общем, я хочу "внедрить" учетные данные в мое приложение, насколько это возможно, поддерживается сервером приложений и без каких-либо "самостоятельных" решений с использованием файла внешних свойств и т. Д. (Например, jaspy).
Возможно ли это как-то с помощью подхода plan.xml от weblogic?
Спасибо!
2 ответа
Мы закончили с этим подходом:
- Позвольте пользователю создать зашифрованную строку через консоль Python WLS - результат всегда имеет префикс
{AES}
или же{DES}
- Читать из
plan.xml
значение буквально. Если это не начинается с{AES}
или же{DES}
затем использовать его сразу - В противном случае расшифруйте с помощью этого внутреннего API WLS: https://community.oracle.com/thread/2225201?tstart=0
Я не люблю использовать этот скрытый API, но по крайней мере он использует собственное шифрование и защиту WLS, и это становится обязанностью Sysops;-)
Несколько вещей, на которые следует обратить внимание: если weblogic находится в разработке (не в производственном режиме), вы можете вводить значения в виде открытого текста в файлах конфигурации, и при запуске сервера он будет их шифровать. Если вам нужны методы шифрования / дешифрования, существует множество сценариев, которые могут помочь. Как здесь: http://techtapas.blogspot.com/2011/05/how-to-decrypt-weblogic-passwords-with.html
Тем не менее, я думаю, что вы можете ввести значения в файл plan.xml в зашифрованном виде. Этот пример файла делает это: https://jdeveloper-adf.googlecode.com/svn-history/r25/trunk/shiridi/Plan.xml