Tutorial Reference: https://docs.oracle.com/javase/tutorial/deployment/jar/intro.html
-
Compile classes.
javac app/*.java
-
Create unsigned jar.
jar cfe unsigned.jar app.Main app/Life.class app/Main.class
-
Create certifcate for signing.
- Create keystore.
keytool -genkey -alias server -keyalg RSA -keypass password -storepass password -keystore keystore.jks
Creates
keystore.jks
file. - Create certificate.
keytool -export -alias server -storepass password -file server.cer -keystore keystore.jks
Creates
server.cer
file.
- Create keystore.
-
Sign jar.
jarsigner -keystore keystore.jks -signedjar signed.jar unsigned.jar server
Creates
signed.jar
file. Password ispassword
when prompted. -
Verify jar.
jarsigner -verify signed.jar
-
Tamper with jar, verify, and try executing.
java -jar signed.jar