Я пытаюсь использовать хеширование для теста в tomcat-users.xml. (Я планирую реализовать подкласс одного из классов Realm для выполнения реальной аутентификации с аудитом, ведением журнала и т. Д.) Я выполнил команду
$TOMCAT_HOME/bin/digest.sh -a sha secret
и получил результат 'secret: e5e9fa1ba31ecd1ae84f75caaa474f3a663f05f4'. Я вставил это в
<user password="e5e9fa1ba31ecd1ae84f75caaa474f3a663f05f4" roles="test" username="tester"/>
линия. Я добавил соответствующие магические слова в свой файл web.xml, чтобы использовать DIGEST-аутентификацию для сервлета (role = test), но когда я пытаюсь войти в систему, я получаю ошибку 401.
Я "наблюдал" за транзакциями с Wireshark, и, похоже, браузер отправляет все правильные ответы.
Я правильно делаю? Мне кажется, что дайджест-аутентификация отправит обратно MD5 («username: realm: password»), поэтому tomcat не сможет сравнить значение, хранящееся в файле tomcat-users.xml, со значением, отправленным браузером, поскольку для этого потребуется либо «отключить» значение пароля из tomcat-users.xml, либо «username: realm: password».
Должен ли я вместо этого хранить хеш "username: realm: password"?