Dla każdego, kto tu przyjeżdża, szukając informacji o Tomcat 8.0.15 lub nowszym, prawdopodobnie powinieneś użyć SecretKeyCredentialHandler z PBKDF2, ponieważ jest to znacznie bezpieczniejsze (tj. Trudniejsze do złamania) niż prosty skrót wiadomości.
Na przykład w pliku server.xml:
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase">
<CredentialHandler className="org.apache.catalina.realm.SecretKeyCredentialHandler"
algorithm="PBKDF2WithHmacSHA512"
keyLength="256"
/>
</Realm>
W tej konfiguracji użyj następujących poleceń, aby wygenerować zaszyfrowane dane wyjściowe na podstawie hasła:
$CATALINA_HOME/bin/digest.sh -a "PBKDF2WithHmacSHA512" -i 100000 -s 16 -k 256 -h "org.apache.catalina.realm.SecretKeyCredentialHandler" "YOUR_PASSWORD"
z wybraną liczbą iteracji i wielkością soli (w bajtach). Zauważ, że długość klucza musi być taka sama jak zdefiniowana w server.xml z powodu błędu 60446 . Jednak powinno to zostać naprawione wkrótce.
OSTRZEŻENIE! Upewnij się, że twoje hasło nie zostanie zapisane w historii poleceń twojej powłoki. W bash osiąga się to przez poprzedzenie polecenia pustą spacją.
Polecenie wyświetli twoje hasło w postaci zwykłego tekstu i reprezentację szesnastkową wynikowych poświadczeń, których powinieneś użyć jako atrybutu hasła w pliku tomcat-users.xml.
Dokumentację dla komponentu CredentialHandler można znaleźć tutaj . Możliwe wartości atrybutu algorytmu można znaleźć tutaj .
"sha-1"
lub"sha-256"
, jeśli to zadziała.