Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Jetty/Howto/Secure Passwords
Introduction
There are many places where you need to use and store a password, for example for the How to configure SSL connectors, and for user passwords in realms.
Passwords can be stored in *clear text*, *obfuscated*, *checksummed* or *encrypted* in order of increasing security.
Steps
Jetty provides a password utility that can be used to generate all varieties of passwords.
Run it without arguments to see usage instructions:
> java -cp lib/jetty-http-xxx.jar:lib/jetty-util-xxx.jar org.eclipse.jetty.http.security.Password Usage - java org.eclipse.jetty.http.security.Password [<user>] <password>
where -xxx signifies the version of Jetty that you have installed.
For example, to generate a secured version of the password "blah" for the user "me", do:
> java -cp lib/jetty-http-xxx.jar:lib/jetty-util-xxx.jar org.mortbay.jetty.security.Password me blah blah OBF:20771x1b206z MD5:639bae9ac6b3e1a84cebb7b403297b79 CRYPT:me/ks90E221EY
Now you can cut and paste whichever secure version you choose into your configuration file or java code.
For example, the last line below shows you how you would cut and paste the encrypted password generated above into the properties file for a HashUserRealm:
admin: CRYPT:ad1ks..kc.1Ug,server-administrator,content-administrator,admin other: OBF:1xmk1w261u9r1w1c1xmq guest: guest,read-only me: CRYPT:me/ks90E221EY