Geralmente, em aplicações standalone no Java, distribuímos arquivos empacotados em JAR. Por questões de segurança, muitos clientes barram a execução arquivos JAR que não estejam assinados. Quando se usa Java Web Start, via JNLP, também o JAR é barrado. Sendo assim, para resolver esse problema, podemos auto-assinar no JAR. Vamos ver como se faz isso:
Empacote o JAR
A primeira coisa a se fazer é compilar e buildar sua aplicação e em formato JAR. Se você usa Ant, Maven, Gradle… Basta buildar usando eles e gerar o JAR. Depois de gerado o JAR, empacote com esse comando:
jar -cf MyAwesomeApp.jar *.*
Criando a KeyStore
Agora vamos criar a KeyStore para poder assinar o JAR.
keytool -genkey -keystore
myKeyStore -alias jdc
Assim que você rodar o comando, será perguntado diversas coisas como organização, nome, etc etc etc. Preencha as informações.
Assinando o JAR
E finalmente, assinando o JAR:
jarsigner -keystore
myKeyStore MyAwesomeApp.jar jdc
agora você já pode fazer deploy, usar JNLP etc. Mas fique atento que JARs auto-assinados gera um warning na JVM quando vai executa-los.
Fonte →
https://www.ricardogiaviti.com.br/2017/08/como-auto-assinar-um-arquivo-jar/