Setup SSL in Jetty
Have you faced issues when you have to quickly enable SSL and you got stuck with it :-(
You are not alone, i will share my pain and some learning.
I will share steps to enable SSL on jetty.
Warning: Use below instruction only for dev setup and for production contact your security expert !
- Install jetty on your server
- Setup some env variable for convenience like
export jetty_home=…/somejetty
export jetty_base = …/your_application_install_location
It is recommended to keep jetty base out side of jetty installation otherwise you will have classpath nightmare
- Execute below command to create initial setup for SSL
java -jar $jetty_home/start.jar –add-to-startd=ssl jetty.base=$jetty_base
Once you run above command you will see something like below on console.
INFO: ssl initialised in ${jetty.base}/start.d/ssl.ini (created)
INFO: ssl enabled in /data/segmentation/segplat-deployments/app/application_secure/bin/${jetty.base}/start.d/ssl.ini
INFO: server initialised in ${jetty.base}/start.ini
INFO: server enabled in ${jetty.base}/start.ini
INFO: server enabled in <transitive>
INFO: resources initialised in ${jetty.base}/start.ini
INFO: resources enabled in ${jetty.base}/start.ini
INFO: resources enabled in <transitive>- Add below line ${jetty.base}/start.d/ssl.ini
–module=https
Check ssl port(jetty.ssl.port) and change it accordingly
- Add below line in ${jetty.base}/start.ini
jetty.ssl.port=port
Use same port as ssl.ini file.
- Start the server
java -jar $jetty_home/start.jar jetty.base=$jetty_base
You are done :-) Jetty starts on ssl .
Magic Questions
–Which certificate is used by jetty ?
That is the magic, jetty ships with certificate that is already imported in keystore that jetty is using.
Jetty looks for keystore in $jetty_base/etc/keystore location.
–What is password of keystore
Key store password is $jetty_base/start.d/ssl.ini , but it is encrypted. You can use below command to get the password.
java -cp jetty-util-9.2.14.v20151106.jar org.eclipse.jetty.util.security.Password “OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4”
it is “storepwd”
–How to see what is in key store ? run the below command and enter password
keytool –list -v -keystore keystore
If jetty gives some error like password is wrong or tampered then copy the keystore from $jetty_home/etc/keystore to $jetty_base/etc
It takes only 5 minutes to perform all the steps but only if you know otherwise it is day long frustration. Enjoy development with jetty.
| Published on Java Code Geeks with permission by Ashkrit Sharma, partner at our JCG program. See the original article here: Setup SSL in Jetty Opinions expressed by Java Code Geeks contributors are their own. |




