Область Glassfish JDBC имеет несколько различных свойств, которые вы можете установить.
Меня интересуют свойства Digest Algorithm и Password Encryption Algorithm (именно так они отображаются в консоли администратора).
Второе, насколько я могу судить, появилось в Glassfish 3.1.2.
Я обратился к официальной документации Glassfish 3.1.1, но в ней не рассматривается новое свойство, и не объясняется, для чего используется первое свойство.
Есть ошибка в документации, которая ссылается на номер ошибки (13363269), который, должно быть, указывает на несуществующую систему ошибок, потому что я не могу найти ошибку, на которую она ссылается. Эта призрачная ошибка предположительно подробно описывает, для чего нужно свойство Password Encryption Algorithm, но, увы, похоже, оно затерялось в тумане времени.
В командной строке свойство называется (невероятно): digestrealm-password-enc-algorithm
. Похоже, оно будет жить рядом со свойством digest-algorithm
.
Я попытался прочитать исходный код, но файл JDBCRealm.java
, похоже, отсутствует, хотя, возможно, я просто ищу не в том месте. В предыдущей копии, которую я нашел, это свойство нигде не упоминается.
Для чего нужны эти два свойства? У меня есть смутное ощущение, что вместе они гарантируют, что если я использую realm для входа в систему с паролем в открытом виде, я могу каким-то образом делегировать операции хэширования и сравнения realm, при условии, конечно, что хэши, использованные для хранения оригинального пароля, и хэши, использованные для входящего пароля, были вычислены одинаково.
В руководстве также указано, что если я хочу использовать аутентификацию по дайджесту, то я должен указать jdbcDigestRealm
JAAS контекст. Если я не хочу использовать аутентификацию digest, то я должен указать jdbcRealm
JAAS контекст. На мой взгляд, это похоже на еще одно место, где я фактически указываю, какие алгоритмы хэширования задействованы.
Заранее спасибо за любые подсказки.