agradeço muito quem puder me ajudar com a seguinte situação:
Tenho um celular Nokia 2630 e um aplicativo J2ME feito por mim que roda perfeitamente nele. Preciso agora que a aplicação tenha privilégios e sei que tenho que assinar o aplicativo para isso. Resolvi usar um certificado que já tem instalado no Root do celular, o Thawte Code Signing CA. Eu também tenho esse certificado no formato PEM (Que começa com BEGIN CERTIFICATE e termina com END CERTIFICATE). Já criei meu Keystore, minha key e já importei esse certificado para key. Através do NetBeans 6.0.1 eu assino meu aplicativo indicando essa key. Logo depois instalo no celular. Até aí tudo beleza …
O problema é que quando vou executar o aplicativo a seguinte mensagem é exibida: “Não há Certificado no Celular ou no SIM”
Realmente não entendi porque o certificado está presente no celular. Prova disso é que quando tento instala-lo no celular atravé do arquivo PEM ele me mostra a mensagem de que o certificado já existe.
agradeço muito quem puder me ajudar com a seguinte situação:
Tenho um celular Nokia 2630 e um aplicativo J2ME feito por mim que roda perfeitamente nele. Preciso agora que a aplicação tenha privilégios e sei que tenho que assinar o aplicativo para isso. Resolvi usar um certificado que já tem instalado no Root do celular, o Thawte Code Signing CA. Eu também tenho esse certificado no formato PEM (Que começa com BEGIN CERTIFICATE e termina com END CERTIFICATE). Já criei meu Keystore, minha key e já importei esse certificado para key. Através do NetBeans 6.0.1 eu assino meu aplicativo indicando essa key. Logo depois instalo no celular. Até aí tudo beleza …
O problema é que quando vou executar o aplicativo a seguinte mensagem é exibida: “Não há Certificado no Celular ou no SIM”
Realmente não entendi porque o certificado está presente no celular. Prova disso é que quando tento instala-lo no celular atravé do arquivo PEM ele me mostra a mensagem de que o certificado já existe.
Qualquer ajuda é bem-vinda!
Obrigado. [/quote]
Não sei qual o motivo que te levou a usar um Thawte, sendo que o que sempre vejo é gente usando o Verisign, inclusive eu mesmo.
Vou te dizer pelo que conheço do Verisign:
É um certificado especifico para aplicações Java, podendo assinar aplicações desktop e mobile. Existem vários tipos, portanto na hora de comprar tem que comprar o certificado correto, senão vai jogar dinheiro fora.
Não sei se o Tawte tem algo assim, ou o certificado deles pode assinar qualquer coisa.
Você não disse se verificou os atributos no JAD responsáveis por carregar a assinatura da aplicação. Se eles não estao lá, a aplicação não está assinada.
obrigado por responder. Sim, apesar de não citar na pergunta, já verifiquei o jad e consta as devidas referências ao certificado. Vou aproveitar sua dica e tentar com um Verisign. Depois retorno um post se tive sucesso ou não.
testei agora com um certificado root Verisign Class 3 Public Primary CA e o problema continua o mesmo ou seja depois que instalo o aplicativo no celular e vou executa-lo o celular me dá essa mensagem:
pesquisando melhor o assunto achei a causa do problema. Na verdade tá mais pra falta de informação do que um problema em sí. A questão é que eu estava confundindo certificados de autoridade com certificados de usuário. Os certificados que usei nada mais eram do que os certificados de autoridade que são previamente instalados em alguns modelos de celulares. Para assinar minha aplicação, preciso de um certificado de usuário( que é pago e caro por sinal :shock: ) cuja chave é compatível com as chaves dos certificados de autoridade instalados no celular de acordo com a devida empresa.
Foi como eu te disse…não é qualquer certificado q vc pode usar…tem que ser o específico e tem que comprar certo. Se vc fizer tudo certinho a aplicação é assinada sem problemas. Eu achava que vc já tinha feito o basico da lição de casa…pois ja estava usando outro certificado inclusive…
E se eu precisar de um certificado gratuito soh para fazer testes? como consigo um?
Fiquei sabendo de uma tal de “self-signed” que é uma assinatura propria e por tanto nao preciso pagar para ninguem! Alguem já ouviu falar nisso? como crio uma?
E se eu precisar de um certificado gratuito soh para fazer testes? como consigo um?
Fiquei sabendo de uma tal de “self-signed” que é uma assinatura propria e por tanto nao preciso pagar para ninguem! Alguem já ouviu falar nisso? como crio uma?[/quote]
Se existisse um certificado gratuito, todo mundo ia usar este e não iria haver a comercialização o que seria ruim.
A comercialização garante que poucos vão ter acesso e só os que realmente precisam, vão ter, afinal, estão pagando para terem sua identidade digital, atestando que sua aplicação vem de fonte confiável e não de qualquer zé ruela por ai…
Também já vi estes tutoriais, mas te digo que é perda de tempo, pois aplicações self-signed no J2ME não vão ser reconhecidas pelo aparelho como certificados validos,a não ser que vc faça uns hacks bacanas. Já no para aplicações Symbian ja é mais facil e para Android, todas as aplicações já são assinadas digitalmente.
Se quer testar tem que comprar. Bem vindo ao mundo de midlets assinadas digitalmente ! Yuppii !!! :lol:
Aproveitando este tópico gostaria também de incluir a seguinte dúvida:
No meu aplicativo, estou usando a classe PushRegistry para iniciar o aplicativo automaticamente depois de algum tempo logo depois que liga o celular(visto que meu celular não tem suporte para symbian e assim não tenho como usar o PowerBoot). O problema é que antes de iniciar o aplicativo o celular pede uma confirmação e nesse caso, depende de uma intervenção do usuário para sim ou não. Se eu assinar minha aplicação essa mensagem vai deixar de aparecer :?:
Se alguém é familiarizado com essa classe(Tipo a pergunta faz parte dela e não tem nada a ver com certificação confiável?) e puder me ajudar com essa dúvida agradeço.
[quote=Leandro Ribeiro]Aproveitando este tópico gostaria também de incluir a seguinte dúvida:
No meu aplicativo, estou usando a classe PushRegistry para iniciar o aplicativo automaticamente depois de algum tempo logo depois que liga o celular(visto que meu celular não tem suporte para symbian e assim não tenho como usar o PowerBoot). O problema é que antes de iniciar o aplicativo o celular pede uma confirmação e nesse caso, depende de uma intervenção do usuário para sim ou não. Se eu assinar minha aplicação essa mensagem vai deixar de aparecer :?:
Se alguém é familiarizado com essa classe(Tipo a pergunta faz parte dela e não tem nada a ver com certificação confiável?) e puder me ajudar com essa dúvida agradeço.
:)[/quote]
Vai sumir se depois de instalado o aplicativo assinado, você ir no mesmo e configurá-lo para que a pergunta não mais aconteça.
Quando uma aplicação não-assinada é instalada, esta opção fica desabilitada no menu do aplicativo.
[quote=boone]Vai sumir se depois de instalado o aplicativo assinado, você ir no mesmo e configurá-lo para que a pergunta não mais aconteça.
Quando uma aplicação não-assinada é instalada, esta opção fica desabilitada no menu do aplicativo.[/quote]