В JDBCRealm в Glassfish 3.1.2 появилось новое поле Алгоритм шифрования паролей.Для чего это? - PullRequest
10 голосов
/ 25 февраля 2012

Область Glassfish JDBC имеет несколько различных свойств, которые вы можете установить.

Мне интересны свойства Алгоритм дайджеста и Алгоритм шифрования паролей (именно так они показываютв консоли администратора).

Второй, насколько я могу судить, новый в Glassfish 3.1.2.

Я ознакомился с официальной документацией Glassfish 3.1.1 но оно не обращается к новому свойству и не объясняет, для чего используется первое свойство.

Существует ошибка документации , которая ссылается на номер ошибки (13363269)это должно указывать на несуществующую систему ошибок, потому что я не могу найти ошибку, к которой она относится.Эта фантомная ошибка, по-видимому, подробно описывает, для чего свойство Алгоритм шифрования пароля , но, увы, похоже, теряется в глубине веков.

Из командной строки свойство именуется (невероятно): digestrealm-password-enc-algorithm.Похоже, что это будет жить рядом со свойством digest-algorithm.

Я попытался прочитать исходный код , но файл JDBCRealm.java, похоже, отсутствует , хотя я, несомненно, простоглядя не в том месте.Предыдущая копия, которую я нашел, нигде не ссылается на свойство.

Для чего эти два свойства? У меня есть смутное ощущение, что вместе они гарантируют, что если я использую область для входа в систему снезашифрованный пароль Я могу каким-то образом делегировать операции хеширования и сравнения в область, при условии, конечно, что хеши, используемые для хранения оригинального пароля, и хэши, используемые для входящего пароля, вычислялись одинаково.

В руководстве также указывается, что если я хочу использовать дайджест-проверку подлинности, я должен указать контекст jdbcDigestRealm JAAS.Если я не хочу использовать дайджест-проверку подлинности, я должен указать контекст jdbcRealm JAAS.На мой взгляд, это похоже на еще одно место, где я эффективно определяю, какие типы алгоритмов хеширования используются.

Заранее спасибо за любые указатели.

1 Ответ

0 голосов
/ 21 декабря 2013

Я писал об этом (связанная проблема) здесь - конфигурация JDBCRealm Glassfish 3.1.2.

Короче говоря, поле шифрования паролей больше не является обязательным, поэтому достаточно просто сохранить пароли в виде хэшей SHA 256.

...