Получение IntialContext от Weblogic без использования открытого текста пароля - PullRequest
3 голосов
/ 09 февраля 2009

Я могу получить Weblogic InitialContext от клиента JNDI, используя следующие свойства как параметры среды для InitialContext

Hashtable jndiProps = new Hashtable();
jndiProps.put("java.naming.factory.initial", "t3://localhost:7001");
jndiProps.put("java.naming.provider.url", "weblogic.jndi.WLInitialContextFactory");
jndiProps.put("java.naming.security.principal", "weblogic");
jndiProps.put("java.naming.security.credentials", "weblogic");

InitialContext ctx = new InitialContext(jndiProps);

Вопрос в том, есть ли способ получить InitialContext без указания security.credentials в виде открытого текста, но, возможно, в качестве хешированного значения?

Ответы [ 2 ]

1 голос
/ 06 марта 2009

Вы можете использовать симметричное шифрование, зашифровать значение пароля и сохранить его в файле свойств. Затем перед созданием исходного контекста прочитайте значение свойства, расшифруйте его и обновите свойство, прежде чем передавать объект jndiProps в конструктор InitialContext.

Ключ шифрования по-прежнему будет на клиенте, но он остановит случайное чтение файла свойств для выяснения пароля.

Использование SSL также является хорошей идеей для защиты пароля при его передаче между клиентом и сервером.

0 голосов
/ 26 февраля 2009

Простое хеширование пароля не имеет никакого реального значения безопасности. Так как ваш пароль в любом случае находится на клиенте.

Наибольшие выгоды можно получить, используя SSL-шифрование на вашем канале, во-первых, с t3s, а во-вторых, с пользователем с наименьшим количеством привилегий вместо пользователей-администраторов "weblogic".

...