Boa noite Camila,
Você está tentando fazer assinatura de arquivos .jar certo?
O keystore seria um “banco de chaves”. Com o comando: keytool -genkey você estará criando um novo “par de chaves”.
- Passos para criação de um par de chaves, exportar o certificado, assinatura, etc:
1 - Criar o par de chaves: keytool -genkey -keystore testekey -alias testekey
2 - Exportar o certificado da chave pública criada(é o arquivo que você importará nas máquinas clientes): keytool -export -keystore c:\testekey -alias testekey -file keycert.x509
3 - Assinar o .jar: jarsigner -keystore testekey arquivo.jar testekey
4 - Importar o certificado na máquina do cliente: keytool -import -alias testekey -file keycert.x509 (quando executar o comando, surgirá a seguinte pergunta: “Trust this certificate?”, seria “Confiar neste certificado?”, informe yes. Lembrando que o mesmo deverá estar com o JRE instalado + Variáveis de Ambientes configuradas para conseguir executar este comando. É mais simples fazer a importação utilizando o painel de controle do java, lá terá uma aba “Security”, e traz a lista de certificados instalados na máquina e te permite importar mais algum.
- No tomcat é necessário configurar o arquivo “web.xml” localizado na pasta “conf”, informando o tipo “myme” que será utilizado. Caso for para arquivos .jnlp (Java Web Start)
<mime-mapping>
<extension>jnlp</extension>
<mime-type>application/x-java-jnlp-file</mime-type>
</mime-mapping>
- Exemplo de um arquivo .jnlp
<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0+" codebase="http://localhost:8080/" href="Teste.jnlp">
<information>
<title>Teste de arquivo JNLP</title>
<vendor>TESTE JWS</vendor>
<homepage href="http://localhost:8080/" />
<description>Teste</description>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.6+" />
<jar href="arquivo.jar" />
</resources>
<application-desc main-class="com.dir.arquivo" />
</jnlp>
Abraço.