J2ME e (open source) applet de assinatura para dispositivos móveis (ESP telefones.) - o que posso fazer?

StackOverflow https://stackoverflow.com/questions/417895

Pergunta

Eu só descobri J2ME e eu amo as possibilidades que ele apresenta. Atualmente estou trabalhando em um aplicativo simples e eu gostaria de talvez liberá-lo como algum projeto open-source no futuro.

Como parte da minha pesquisa em J2ME e dispositivos móveis, eu olhei para applet de assinatura. Parece que as pessoas que querem criar applets para livre estão presos entre e rock e um shite lugar horrível. Applet assinatura é extremamente caro e extremamente complicado -. Ea despesa não pode ser justificada quando a codificação de graça

Há um grande número de dispositivos compatíveis J2ME lá fora - Eu acho que seria uma vergonha ter que ignorá-los, e apenas esperar pacientemente para a próxima onda (por exemplo, Android).

Eu queria saber se outras pessoas têm alguma idéia sobre maneiras de abordar esse problema?

UPDATE: Eu encontrei este artigo de blog que resume o problema para aqueles interessados ??... http://javablog.co.uk/2007/08/09/how-midlet-signing-is-killing-j2me/

eu pensei sobre a criação de uma organização guarda-chuva sem fins lucrativos para os desenvolvedores J2ME open-source que querem um certificado VeriSign (como um certificado pode assinar o código uma quantidade ilimitada de vezes). Eu teria como objetivo levantar os US $ 500 e, em seguida, permitir que os membros do grupo para compartilhar o certificado de compra. Teve uma conversa rápida a um VeriSign representante e eles pensaram que a idéia poderia trabalhar (desde que a organização foi registrada como pessoa jurídica).

No entanto, desde fabricantes de aparelhos agora parecem estar se movendo para apoio única certificados raiz UTI (que você só pode obter através do 'Java Verified' programa) - isso pode não ser tão útil como eu pensei que poderia ser ... se alguém tiver alguma idéia seria ótimo para ouvi-los.

Foi útil?

Solução

Eu tenho medo que você está lutando uma batalha que você não pode ganhar. Usando as APIs restritas está ficando cada vez mais difícil e isso não é acidental. Como você leu no blog que você mencionou o maior problema é os operadores de rede. Mesmo se você comprar um certificado da Verisign ou Thawte (que é pela maneira mais barata), o aplicativo não será executado em operadoras de redes celulares de marca, uma vez que estes têm suas próprias regras CA.

No início, era possível para um desenvolvedor para instalar sua / seu próprio certificado, mas mesmo isso agora não é possível. Esta regra estrita está mandatado pelos fabricantes de telefones (Nokia, por exemplo) e se aplica a todos os telefones (mesmo aqueles sem marca). Eu acredito que isso também não é acidental e é principalmente por causa de exercer pressão para fabricantes de dispositivos pelos operadores de rede.

Finalmente, embora MIDP 3.0 foi anunciada há anos, nada tem realmente sair dela. Parece que até mesmo Sun acreditam que J2ME é apenas para jogos.

Todos estes têm sido amplamente discutido em fóruns J2ME por um longo tempo. O consenso geral é de que os operadores de rede não quer ter todos os telefones disponíveis no mercado operar como um telefone inteligente e ser capaz de executar um aplicativo de terceiros. Em seguida, ele vai ser muito fácil para que todos possam usar uma alternativa mais barata, baseada na Web, em vez de mensagens SMS para um exemplo. Isto pode soar como uma teoria da conspiração, se você é novo no mundo do J2ME, mas têm em mente que os operadores de rede vender telefones com o seu próprio firmware que travam mesmo funcionalidades básicas (por exemplo, a transferência de fotos via Bluetooth ou usar MP3s como ringtones) para forçar a proprietário de usar serviços pagos!

Eu não sei se isso vai mudar agora que os telefones inteligentes (iPhone, Android, Windows Mobile) estão ganhando impulso. Tenha em mente que as restrições se aplicam também para essas plataformas (nomeadamente Symbian, que também é muito hostil para o código aberto).

Outras dicas

  • Você pode criar um certificado de assinatura que você auto-sinal. Seus usuários têm estar disposto a confiar em você.
  • Você pode instruir seus usuários como criar uma cert e auto-assinar com ele. Em seguida, os usuários têm que ser capazes de confiar em si mesmos.
  • Existem CAs mais ou menos abertas; vocês tem que estar disposto a confiar neles e convencer seus usuários a confiar neles.

O Java Tutorial tem uma seção sobre applets assinados que irá levá-lo através dos passos.

Eu sou um desenvolvedor de aplicativos J2ME e eu concordo totalmente o seu post. Os custos para a assinatura de um MIDlet são simplesmente inacessíveis para iniciativas de código aberto e, a menos que seu está a desenvolver jogos simples, você logo ou mais tarde acabam em usar APIs restritas às tomadas de acesso ou Location API apenas para citar dois deles. Isso é muito frustrante e se você considerar que as políticas de permissão nem sempre são threated o mesmo em vários dispositivos, a coisa ficar pior: em algum telefone móvel que você pode dizer o sistema operacional a confiar no entyre MIDlet e nunca incomodá-lo em tudo, outros continuam para pedir-lhe permissão cada vez que você chamar um método restrito. É trágico! I rellay apreciar a sua proposta e eu acho que seria uma grande conquista para os desenvolvedores JavaME.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top