Wenn Sie hier nach Informationen zu Tomcat 8.0.15 oder neuer suchen, sollten Sie SecretKeyCredentialHandler stattdessen mit PBKDF2 verwenden, da es viel sicherer (dh schwerer zu knacken) ist als eine einfache Zusammenfassung von Nachrichten.
Zum Beispiel in Ihrer server.xml:
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase">
<CredentialHandler className="org.apache.catalina.realm.SecretKeyCredentialHandler"
algorithm="PBKDF2WithHmacSHA512"
keyLength="256"
/>
</Realm>
Verwenden Sie bei dieser Konfiguration Folgendes, um die Hash-Ausgabe aus Ihrem Kennwort zu generieren:
$CATALINA_HOME/bin/digest.sh -a "PBKDF2WithHmacSHA512" -i 100000 -s 16 -k 256 -h "org.apache.catalina.realm.SecretKeyCredentialHandler" "YOUR_PASSWORD"
mit der Iterationszahl und der Salt-Größe (in Bytes) Ihrer Wahl. Beachten Sie, dass die Schlüssellänge aufgrund des Fehlers 60446 mit der in server.xml definierten übereinstimmen muss . Es sollte jedoch ziemlich bald stromaufwärts behoben werden.
WARNUNG! Bitte stellen Sie sicher, dass Ihr Passwort nicht im Befehlsverlauf Ihrer Shell gespeichert wird. In bash wird dies erreicht, indem dem Befehl ein Leerzeichen vorangestellt wird.
Der Befehl gibt Ihr Kennwort im Klartext und in hexadezimaler Darstellung der resultierenden Anmeldeinformationen aus, die Sie als Kennwortattribut in Ihrer tomcat-users.xml verwenden sollten.
Dokumentation zur CredentialHandler-Komponente finden Sie hier . Die möglichen Werte für das Algorithmusattribut finden Sie hier .
"sha-1"
oder"sha-256"
, wenn es funktionieren wird.