Boa tarde, eu uso um servidor web para downloads automáticos na atualização de uma aplicação java, porém quando tento executar o launch.jnlp, é exibido uma mensagem de erro ao fazer download dos arquivos no servidor, me retorna a seguinte mensagem : “Os recursos JAR do arquivo JNLP não estão assinados pelo mesmo certificado”. Eu coloquei a propriedade no netbeans para auto-assinar por chave gerada, não sei tem alguma relação. Pesquisei muito e achei algumas possíveis soluções como limpar os arquivos temporários java, ou a possibilidade de existir bibliotecas no projeto que já são assinadas estarem causando o erro ( não sei como posso estar visualizando essa possibilidade ).
Alguém já passou pelo mesmo problema ? ou conhece uma possível solução ? obrigado.
Você tem que assinar tanto o seu JAR quanto os JARs de terceiros com o mesmo certificado, senão não funciona.
@staroski Li alguns conteúdos e consegui assinar os JARs, agradeço a resposta, me deu um norte para resolução do problema.
Para quem está com o mesmo problema, aqui vai uma possível solução :
No diretório onde estão os jars, digite a linha de comando(CMD) que segue:
keytool -genkey -alias (nome) -keystore (nome para o arquivo).cert
Escolha a senha (minimo de 6 caracteres):
Enter keystore password:
Re-enter new password:
Responda o questionário:
What is your first and last name?
[Unknown]: XXX
What is the name of your organizational unit?
[Unknown]: XXX
What is the name of your organization?
[Unknown]: XXX
What is the name of your City or Locality?
[Unknown]: XXX
What is the name of your State or Province?
[Unknown]: XX
What is the two-letter country code for this unit?
[Unknown]: XX
Is CN=XXX, OU=XXX, O=XXX, L=XXX, ST=XX, C=XX correct?
[no]: yes
Esses passos acima vão criar um certificado na pasta onde os jars estão, agora é necessário assinar cada um dos jars com esse certificado, para isso, basta utilizar a linha de comando abaixo:
jarsigner -verbose -keystore (nome do arquivo).cert (seu arquivo jar).jar (seu nome)
Aí é só digitar a senha do seu arquivo.cert que foi criado e pronto.
O ideal é fazer um certificado em alguma entidade certificadora.
Hoje em dia dá até pra fazer em alguns cartórios e/ou tabelionatos.
Por enquanto estou apenas utilizando para teste, mas de qualquer forma obrigado pela dica.