start by getting a new certificate. as of aug,2021: go through umich IT. get something with a .p12 suffix. in my cas I called it cert2021.p12 with password: bqFJY9*vQNtxuuow and name "leland pierce" then do this for each code: for f in *java; do javac $f; done jar cvfm BLAH.jar ../../mymanifest.txt *class *ttf *gif (or use ../mymanifest.txt as needed) jarsigner -tsa http://timestamp.comodoca.com/rfc3161 -keystore ../../cert2021.p12 -storetype PKCS12 BLAH.jar "leland pierce" note: the new version of jar does not create a jar if there are not gifs or ttfs, so you need to try it with all 3 wildcards, then delete *gif, then delete *ttf, until it creates a .jar UGH! note also: needed to compile 2.7b with --release 8 in order to not get a version error when running in the browser. It wanted the class files to have been compiled with an older compiler. SO I did this on my laptop and copied to vhosts. also#3: needed all jnlp's changes so the codebase was from https, not http. as of 2020 this document explains how: CodeSigningCertificateRequestHowToWithInternetExplorerOnWindows_aug20_2020.pdf Kelly Stam at Umich ITD helped at each step. When you need to do this again, I'm sure things will have changed. newest: for f in *java; do javac $f; done jar cvfm BLAH.jar ../../mymanifest.txt *class *ttf *gif jarsigner -tsa http://timestamp.comodoca.com/rfc3161 -keystore ../../aa.pfx -storetype PKCS12 BLAH.jar te-ac00e818-e7f8-49a9-bd18-7adfc1a1fa98 newer: jarsigner -tsa http://timestamp.comodoca.com/rfc3161 -keystore ../michigan_security_certificate_expiresaug5_2020.p12 -storetype PKCS12 mod1.jar "university of michigan's internet2 id" copy jnlp file into dir where all the classes are. recompile everything. for f in *java; do javac $f; done (possibly several times) search for the class with the "public static void main(" function in it. create the jar: jar cvfm mod2_1BLAH.jar ../../mymanifest.txt *class *ttf *gif (note that the mymanifest file is in the jws directory.) sign the jar: jarsigner -keystore ../../../(or more...)michigan_security_certificate.p12 -storetype PKCS12 mod2_1BLAH.jar "university of michigan's internet2 id" edit the jnlp: mod2_1_webstart.jnlp: codebase="http://em7e.eecs.umich.edu/try101/classes" href="mod2_1_webstart.jnlp">