Em alguns casos é necessário assinar arquivos jar (Java ARchive), por exemplo ao distribuir uma aplicação Swing via Java Web Start que utiliza I/O (saiba mais sobre as restrições impostas pela JVM). No kit de desenvolvimento Java (JDK), o jarsigner é o programa responsável por gerar e verificar assinaturas em um arquivo jar.
O jarsigner utiliza informações da chave e certificado digital para gerar a assinatura. Um exemplo:
$ jarsigner -keystore /home/yaw -storepass mykeypass -keypass mykeypass aplicacaoSegura.jar mykey
Detalhes do comando:
- -keystore: o local (path) da chave;
- -storepass e -keypass: a senha pra acessar e a senha da chave;
- aplicaoSegura.jar: o nome do arquivo jar;
- mykey: o alias da chave;
$ jarsigner -verify aplicacaoSegura.jar
Também é possível assinar um jar pelo ANT, veja um exemplo de target para isso:
<target name="pack-and-sign"> <echo message="Assinando o jar aplicaoSegura.jar"></echo> <signjar alias="mykey" jar="aplicaoSegura.jar" keypass="mykeypass" keystore="/home/yaw" storepass="mykeypass"> </signjar> </target>
Na página do jarsigner é possível obter maiores detalhes sobre o programa. Em outro post descrevo como gerar chaves com o keytool, outra ferramenta do JDK.
@edermag
1 comment:
Bom dia Eder,
em Janeiro a atualização da JVM vai obrigar os Applets e Java web start a serem assinados por um certificado digital verdadeiro, emitido por uma CA válida. Sabe dizer que tipo de certificado, quais arquivos desses certificados são necessários parar realizar essa asssinatura?
Obrigado
Post a Comment