[resolvido] applet TESTADA e assinada não funciona online

16 respostas
J

Olá, pessoal!

Eu estou usando o netbeans IDE 6.9.1 para windows no desenvolvimento de um projeto que inclui uma applet.

Tenho o seguinte pacote:

package meupacote;

import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.io.OutputStreamWriter;

import java.net.URL;

import java.net.URLConnection;

public class mApp extends java.applet.Applet {

…Aqui dentro, no método init, eu uso a função -> Process p = Runtime.getRuntime().exec(“tasklist.exe /fo csv /nh”); que me lista os programas em execução etc
…Ainda aqui eu chamo ainda uma página no servidor([color=red]no mesmo servidor em que a applet está. Porém em um diretório diferente[/color]) que me retorna alguns valores

}

Tudo funcionando, perfeitinho, dentro do netbeans…

Então, criei o jar :
jar cvf mApp.jar etc… o jar é criado.

Gerei o par de chaves:
keytool -genkey -dname… -alias oaliasapp -keystore C:\no local -storepass a senha -validity 5000. Ele pede para inseri a senha e eu insiro etc…

Assino o jar:
jarsigner -keystore C:\no local -storepass a senha -signedjar “mApp.jar” “mApp.jar” oaliasapp.

Em seguida exporto normalment…

Depois import: keytool -import etc.

O resultado final é:
O certificado foi adicionado ao armazenamento de chaves. Até aqui tudo certo, não é isso ?

Publicando a applet na web:

Applet HTML Page


Applet HTML Page

//mAppass.jar é o jar assinado, fiz errado aqui?


Generated by NetBeans IDE

no servidor eu tenho o diretorio classes/dirApp e dentro deste último ficam o arquivos:
mApp.class + mApp$1.class + mApp.jar + mAppass.jar(o jar assinado)

Na hora de executar pelo navegador o java(o mais recente) exibe o aviso:

não foi possivel verificar a assintura digital do aplicativo. A assinatura não pode ser verificada por uma fonte confiável. E por fim diz que o aplicativo contém código assinado e não assinado

E mesmo que eu marque a opção confiar sempre no conteúdo deste editor, o java não deixa a aplicação rodar… Já até marquei a caixa de desabilitar verificação, mas não funciona.

Onde errei no meus passos? Já pesquisei em tudo quanto é lugar e NADA =/

Obrigado pela atenção,

16 Respostas

E

Ponha absolutamente tudo em um jar só - não faça mistura de coisas assinadas e não-assinadas.

R

para o jar funcionar, que tambem quero fazer, a class, tem que ser a classe principal do jar?

tenho feito isto e não deu.

tambem obtive problemas com os caminhos das imagens

J

Olá, entanglement !

Obrigado pela ajuda… Neste caso eu deveria ter colocado o pacote classes dentro do jar, não é isso ?

tipo: jar cvf mApp.jar meupacote ?

Eu estou usando o netbeans para desenvolvedr e uso o cmd.exe para gerar e assinar o jar. No netbeans não teria uma forma de gerar o jar de forma mais simples, em vez do cmd ?

valeu!

E

No tag Applet, use o atributo code=“seu.pacote.SuaClasse” em vez de code=“SuaClasse.class”. Não use barras dentro do atributo code.

Não é preciso criar um MANIFEST.MF indicando qual é a classe principal de seu programa. A única coisa é você ter de especificar o atributo archive corretamente, como você já deve ter feito.

J

O detalhe é que da forma como inseri funciona… Mas o problema está em o java não permitir a execução…

Estou criando o jar com tudo o que tem direito… Mas será que eu precisaria colocar o script do servidor dentro desse pacote também? Acho que não, né? Vou fazer um teste rápido aqui, para ver no que vai dar…

valeu!

J

Amigo agora está funcionando perfeitinho! :smiley:

O único problema é que ao executar o java ainda continua dizendo que não foi possível verificar a assinatura digital… E no nome aparece:(NÂO VERIFICADO)mApp

Como faço para evitar essa mensagem, ou o que está faltando ainda ?

Valeu!

E

Para evitar isso, é necessário comprar um certificado (argh - dor no bolso - todo ano tem que desembolsar mais de mil dólares) ou então instalar o certificado da autoridade certificadora que emitiu o certificado usado para assinar sua applet no arquivo cacerts que está na JRE usada pelo browser (achou complicado? Eu também acho).

KWill

JavaEU:
Amigo agora está funcionando perfeitinho! :smiley:

O único problema é que ao executar o java ainda continua dizendo que não foi possível verificar a assinatura digital… E no nome aparece:(NÂO VERIFICADO)mApp

Como faço para evitar essa mensagem, ou o que está faltando ainda ?

Valeu!

Aparentemente tu precisa comprar um certificado de alguma autoridade certificadora (Verisign, Certisign). É isso o que sei na teoria, sobre detalhes de como proceder não tenho muita noção.

Inté.

J

Um certificado custa mais de mil dolares, sério mesmo? E isso é anual ? o.0

Vocês conhecem alguma empresa aqui no Brasil que vende esse certificado?

E

A Certisign é uma subsidiária da Verisign e se encarrega de revender o certificado. Entretanto, sua empresa vai ter de mandar a documentação para a Verisign mesmo, se não me engano. (Normalmente pessoas físicas não costumam comprar certificados de assinatura de código, exatamente porque são caros.)

KWill

Um certificado custa mais de mil dolares, sério mesmo? E isso é anual ? o.0

Vocês conhecem alguma empresa aqui no Brasil que vende esse certificado?

Bom, a Certisign é nacional até onde sei.

Inté.

E

Desculpe, é mais de 1000 reais, não 1000 dólares.

Mais de 1000 dólares só se você quiser um certificado que dure 3 anos.

1 Year $499
2 Year $895
3 Year $1295

J

A legal… Eu vou verificar então…

Obrigado,

E

http://stackoverflow.com/questions/155241/cheapest-java-code-signing-certificate-not-self-signed

J

Fique em dúvida agora… Não é isso aqui não?: http://www.certisign.com.br/produtos-e-servicos/certificados-digitais/e-cpf

J

Uma dúvida bem básica que me surgiu aqui: Como é feita verificação do certificado digital? Alguém saberia me explicar isso?

Outra coisa:

Eu até achei o arquivo cacerts na pasta lib da JRE. Mas como procedo na instalação desse certificado? E depois, cada usuário que for visualizar minha applet, teria que instalar esse certificado em seus navegadores? Com o certificado de autoridades certificadoras, nem eu, nem os usuários precisariam instalar nada, certo?

Agradeço de antemão os que souberem e puderem responder

EDIT:

Já resolvi o problema acima! :slight_smile:

Criado 21 de outubro de 2010
Ultima resposta 23 de out. de 2010
Respostas 16
Participantes 4