Problemas de segurança em java 8 com JNLP

12 respostas
A

Boa tarde pessoal.
Estou com o seguinte problema aqui na empresa nos distribuimos nossa aplicação desktop pelo JNLP e no java 8 como mudou algumas coisas de segurança ferrou tudo :).

Antes conseguiamos executar com apenas um jnlp fazendo o download de todos o JARS assinados e agora pra conseguir executar tivemos que criar um jnlp pra cada jar ficou horrivel ? alguem já passou por isso ?

12 Respostas

C

Olá,
Uma saída é adicionar o endereço no qual é feito o download do jnlp na configuração de sites confiáveis do Java, conforme consta no link: http://www.java.com/pt_BR/download/help/java_blocked.xml, na seção “Solução Alternativa”.

A

É exatamente isso que não queriamos fazer, queremos diminuir toda a burocracia de instalação. Estamos vendo talvez nos projetos Desktop vamos abandonar os JNLP por causa dos bloqueios de segurança. Já tivemos que comprar varios certificados para assinar os JARS e tb mudar a estrutura de download tudo por causa da segurança.

A

Ola pessoal estou a ter o mesmo problema aqui ao executar o jnlp.

Mas gostaria que me ajudassem em outra questão.

eu quero colocar um link para o jnlp em uma pagina .xhtml, coloquei o jar e o jnlp na minha aplicação web e fiz o deploy da mesma, so que não consigo aceder o jnlp com o caminho da mesma.
Estou a usar o glassfish.

alguem da uma ajuda aqui?

C

Posta o trecho do seu xhtml onde você faz o link para o jnlp.

Você tem que colocar o endereço completo no link(http://servidor:porta/pasta/arquivo.jnlp). Também é importante ver como está a estrutura das pastas onde se encontra o arquivo jnlp.

A
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	>


<f:view>
	<h:head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
		<title><ui:insert name="title">Bem-vindo Ao Sistema</ui:insert></title>
	</h:head>
	<h:body>
		<center>
			<h3>Bem-vindo Ao Sistema</h3>

			<script src="http://java.com/js/deployJava.js"></script>
			<script>
				deployJava.launchButtonPNG = '../images/botao.jpeg';
				var url = '../resources/meujnlp.jnlp';
				deployJava.createWebStartLaunchButton(url, '1.8.0');
			</script>
			
			<noscript>JavaScript is required for this page.</noscript>
			
		</center>
	</h:body>
</f:view>
</html>

Como deve ser a estrutura clemilsonmorais?

A

Estou a trabalhar com jsf

A

Conseguimos resolver esse problema assinando nosso JAR com um certificado oficial para assinar projetos Java assim os JNLP passam corretamente pelas verficações de acesso de todas as versões do Java

J

Essas alterações do java em relacao a segurança foram positivas, mas ter que pagar pelo certificado ficou horrivel.

J

Eis a questão, como? Onde?

S

Uma entidade certificadora famosa é a https://www.certisign.com.br
Também é possível emitir certificado digital em alguns cartórios

J

Olá staroski, eu entendi (e conheço a entidade citada), a minha dúvida é se tem como fazer sem pagar as assinaturas. No meu caso fiz a aplicação em cima do java 8 e usava o Base64 de boas já que é nativo nessa versão do Java. Mas me deparei com uma situação bem específica onde os clientes devem rodar o Java 7, e a classe Base64 nativa dá problema. Tive que voltar o projeto para o Java 7 e agora estou com problema no Base64, que na solução que achei, incrivelmente não gera o mesmo código que era gerado no Base64 do Java 8 (e que rodava redondinho). Mas valeu pela resposta. Abraço.

E

Os certificados do Let’s encrypt servem pra assinar o jar tbm?

Criado 15 de janeiro de 2015
Ultima resposta 12 de jul. de 2017
Respostas 12
Participantes 7