J2ME e firma (open source) dell'applet per dispositivi mobili (specialmente telefoni): cosa posso fare?

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

Domanda

Ho appena scoperto J2ME e adoro le possibilità che presenta. Attualmente sto lavorando a una semplice applicazione e vorrei forse rilasciarla come progetto open source in futuro.

Come parte della mia ricerca su J2ME e dispositivi mobili, ho esaminato la firma dell'applet. Sembra che le persone che vogliono creare applet gratis siano intrappolate tra il rock e un terribile luogo di merda. La firma dell'applet è estremamente costosa ed estremamente complicata - e la spesa non può essere giustificata quando si codifica gratuitamente.

Esiste un numero enorme di dispositivi compatibili con J2ME là fuori - penso che sarebbe un peccato doverli ignorare e aspettare pazientemente la prossima ondata (ad esempio Android).

Mi chiedevo se altre persone avessero qualche idea su come affrontare questo problema?

AGGIORNAMENTO: ho trovato questo articolo del blog che riassume il problema per gli interessati ... http://javablog.co.uk/2007/08/09/how-midlet-signing-is-killing-j2me/

Ho pensato di creare un'organizzazione ombrello senza scopo di lucro per gli sviluppatori J2ME open source che desiderano un certificato VeriSign (poiché un certificato può firmare il codice un numero illimitato di volte). Vorrei aumentare i $ 500 e quindi consentire ai membri del gruppo di condividere il certificato acquistato. Ho fatto una breve chiacchierata con un rappresentante di VeriSign e hanno pensato che l'idea potesse funzionare (a condizione che l'organizzazione fosse registrata come persona giuridica).

Tuttavia, poiché ora i produttori di cellulari sembrano muoversi per supportare solo certificati radice UTI (che è possibile ottenere solo attraverso il programma "Java verificato") - questo potrebbe non essere così utile come pensavo potesse essere ... se qualcuno avesse qualche idea sarebbe bello ascoltarli.

È stato utile?

Soluzione

Temo che stai combattendo una battaglia che non puoi vincere. L'uso delle API con restrizioni sta diventando sempre più difficile e ciò non è casuale. Come hai letto nel post sul blog hai menzionato il problema più grande sono gli operatori di rete. Anche se acquisti un certificato da Verisign o Thawte (che è comunque più economico), la tua applicazione non verrà eseguita nei telefoni con marchio degli operatori di rete, poiché questi hanno le loro regole CA.

Inizialmente era possibile per uno sviluppatore installare il proprio certificato, ma anche questo ora non è possibile. Questa rigida regola è obbligatoria per i produttori di telefoni (ad esempio Nokia) e si applica a tutti i telefoni (anche se non di marca). Credo che anche questo non sia casuale ed è principalmente dovuto alla pressione esercitata dai produttori di dispositivi sui produttori di dispositivi.

Infine, sebbene MIDP 3.0 è stato annunciato per anni, non ne è uscito davvero nulla. Sembra che anche Sun creda che J2ME sia solo per i giochi.

Tutti questi sono stati ampiamente discussi nei forum J2ME per lungo tempo. Il consenso generale è che gli operatori di rete non vogliono che tutti i telefoni disponibili sul mercato funzionino come smartphone e siano in grado di eseguire un'applicazione di terze parti. Quindi sarà molto facile per tutti utilizzare un'alternativa più economica e basata sul Web anziché la messaggistica SMS per esempio. Questo potrebbe sembrare una teoria della cospirazione, se sei nuovo nel mondo J2ME, ma tieni presente che gli operatori di rete vendono telefoni con il proprio firmware che bloccano anche le funzionalità di base (ad esempio il trasferimento di foto tramite Bluetooth o l'utilizzo di MP3 come suonerie) per forzare il proprietario per utilizzare i servizi a pagamento!

Non so se questo cambierà ora che gli smartphone (iPhone, Android, Windows Mobile) stanno guadagnando slancio. Tieni presente che le restrizioni si applicano anche a queste piattaforme (in particolare Symbian, che è anche molto ostile per l'open source).

Altri suggerimenti

  • È possibile creare un certificato di firma che ti autofirmi. I tuoi utenti hanno essere disposti a fidarti di te.
  • Puoi istruire i tuoi utenti su come farlo creare un certificato e auto-firmare con esso. Quindi gli utenti devono essere in grado di farlo fidarsi di se stessi.
  • Esistono CA più o meno aperte; tu devono essere disposti a fidarsi di loro e convincere i tuoi utenti a fidarsi di loro.

Il Tutorial Java ha una sezione sulle applet firmate che ti guiderà attraverso i passaggi.

Sono uno sviluppatore di applicazioni J2ME e concordo pienamente con il tuo post. I costi per la firma di un MIDlet sono semplicemente inaccessibili per le iniziative open source e, a meno che non si stiano sviluppando giochi semplici, presto o tardi finirai per utilizzare API limitate per accedere a socket o API di localizzazione solo per nominarne due. Questo è molto frustrante e se si considera che i criteri di autorizzazione non sono sempre minacciati allo stesso modo su vari dispositivi, la cosa peggiora: su alcuni telefoni cellulari è possibile dire al sistema operativo di fidarsi del MIDlet entyre e non disturbarti mai, altri continuano chiederti il ??permesso ogni volta che richiedi un metodo limitato. È tragico! Apprezzo molto la tua proposta e penso che sarebbe un grande risultato per gli sviluppatori JavaME.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top