Bagi siapa pun yang datang ke sini mencari informasi tentang Tomcat 8.0.15 atau yang lebih baru, Anda mungkin harus menggunakan SecretKeyCredentialHandler dengan PBKDF2 sebagai gantinya, karena jauh lebih aman (yaitu lebih sulit untuk di-crack) daripada pesan sederhana.
Misalnya, di server Anda.xml:
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase">
<CredentialHandler className="org.apache.catalina.realm.SecretKeyCredentialHandler"
algorithm="PBKDF2WithHmacSHA512"
keyLength="256"
/>
</Realm>
Dengan konfigurasi ini, gunakan yang berikut ini untuk menghasilkan output hash dari kata sandi Anda:
$CATALINA_HOME/bin/digest.sh -a "PBKDF2WithHmacSHA512" -i 100000 -s 16 -k 256 -h "org.apache.catalina.realm.SecretKeyCredentialHandler" "YOUR_PASSWORD"
dengan jumlah iterasi dan ukuran garam (dalam byte) yang Anda pilih. Perhatikan bahwa panjang kunci harus sama dengan yang didefinisikan di server.xml karena bug 60446 . Namun harus segera diperbaiki di hulu.
PERINGATAN! Harap pastikan kata sandi Anda tidak disimpan dalam riwayat perintah shell Anda. Dalam bash ini dicapai dengan mendahului perintah dengan ruang kosong.
Perintah akan menampilkan kata sandi Anda dalam teks biasa dan representasi hex dari kredensial yang dihasilkan, yang harus Anda gunakan sebagai atribut kata sandi di tomcat-users.xml Anda.
Dokumentasi untuk komponen CredentialHandler dapat ditemukan di sini . Nilai yang mungkin untuk atribut algoritme dapat ditemukan di sini .
"sha-1"
atau"sha-256"
, jika itu akan berhasil.