[RESOLVIDO] Erro ao utilizar o java web start

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.

1 curtida

@staroski Li alguns conteúdos e consegui assinar os JARs, agradeço a resposta, me deu um norte para resolução do problema. :slight_smile:

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.

1 curtida

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. :grinning: