J2ME и подпись апплетов (с открытым исходным кодом) для мобильных устройств (особенно.телефоны) - что я могу сделать?

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

Вопрос

Я только что открыл для себя J2ME, и мне нравятся возможности, которые он предоставляет.В настоящее время я работаю над простым приложением и, возможно, когда-нибудь в будущем хотел бы выпустить его как проект с открытым исходным кодом.

В рамках моего исследования J2ME и мобильных устройств я изучал подпись апплетов.Кажется, что люди, которые хотят создавать апплеты бесплатно, оказались между роком и ужасным дерьмовым местом.Подписание апплетов чрезвычайно дорого и чрезвычайно запутанно, и затраты не могут быть оправданы при бесплатном кодировании.

Существует огромное количество J2ME-совместимых устройств — я думаю, было бы стыдно игнорировать их и просто терпеливо ждать следующей волны (например, J2ME-совместимых устройств).Андроид).

Мне было интересно, есть ли у других людей идеи о том, как решить эту проблему?

ОБНОВЛЯТЬ:Я нашел эту статью в блоге, в которой обобщается проблема для тех, кто заинтересован... http://javablog.co.uk/2007/08/09/how-midlet-signing-is-killing-j2me/

Я подумал о создании некоммерческой зонтичной организации для разработчиков J2ME с открытым исходным кодом, которым нужен сертификат VeriSign (поскольку сертификат может подписывать код неограниченное количество раз).Я хотел бы собрать 500 долларов, а затем дать возможность членам группы поделиться купленным сертификатом.Быстро поговорил с представителем VeriSign, и они подумали, что идея может сработать (при условии, что организация зарегистрирована как юридическое лицо).

Однако, поскольку производители мобильных телефонов сейчас, похоже, переходят к поддержке только Корневые сертификаты UTI (которые вы можете получить только через программу «Проверено Java») — это может оказаться не так полезно, как я думал…если у кого-то есть идеи, было бы здорово их услышать.

Это было полезно?

Решение

Я боюсь, что вы сражаетесь в битве, которую вы не можете выиграть. Использование ограниченных API становится все сложнее, и это не случайно. Как вы прочитали в записи блога, вы упомянули, что самая большая проблема - это операторы сетей. Даже если вы купите сертификат у Verisign или Thawte (который, кстати, дешевле), ваше приложение не будет работать на фирменных телефонах сетевых операторов, поскольку они имеют свои собственные правила CA.

Сначала разработчик мог установить собственный сертификат, но теперь это невозможно. Это строгое правило предписывается производителями телефонов (например, Nokia) и распространяется на все телефоны (даже не фирменные). Я считаю, что это тоже не случайно, и в основном из-за давления со стороны сетевых операторов на производителей устройств.

Наконец, хотя MIDP 3.0 был анонсирован в течение многих лет, из этого ничего не вышло. Кажется, даже Sun верит, что J2ME только для игр.

Все это уже давно обсуждается на форумах J2ME. По общему мнению, операторы сетей не хотят, чтобы все имеющиеся на рынке телефоны работали как смартфоны, и могли запускать сторонние приложения. Тогда для всех будет очень легко использовать более дешевую альтернативу, основанную на веб-технологиях, вместо обмена SMS-сообщениями. Это может звучать как теория заговора, если вы новичок в мире J2ME, но имейте в виду, что сетевые операторы продают телефоны со своими собственными прошивками, которые блокируют даже основные функции (например, передачу фотографий через Bluetooth или использование MP3 в качестве мелодий звонка), чтобы заставить владелец использовать платные услуги!

Я не знаю, изменится ли это сейчас, когда смартфоны (iPhone, Android, Windows Mobile) набирают обороты. Имейте в виду, что ограничения применяются также к этим платформам (в частности, к Symbian, что также очень недружелюбно для открытого кода).

Другие советы

  • Вы можете создать сертификат подписания, который вы сами подписали.Ваши пользователи должны быть готовы доверять вам.
  • Вы можете обучить своим пользователям, как создать сертификат и самооценку с ним.Тогда пользователи должны быть в состоянии доверяют себе.
  • Существуют более или менее открытые центры сертификации;Вы должны быть готовы доверять им и убедить своих пользователей доверять им.

В В учебнике по Java есть раздел о подписанных апплетах. это проведет вас через шаги.

Я разработчик приложений для J2ME и полностью согласен с вашим постом. Затраты на подписание мидлета просто недоступны для инициатив с открытым исходным кодом, и если вы не разрабатываете простые игры, вы рано или поздно в конечном итоге будете использовать ограниченные API для доступа к сокетам или Location API, просто чтобы назвать два из них. Это очень расстраивает, и если вы считаете, что политики разрешений не всегда представляют собой угрозу для разных устройств, дело обстоит хуже: на некоторых мобильных телефонах вы можете сказать ОС доверять мидлету entyre и никогда не беспокоить вас, другие продолжают спрашивать у вас разрешения каждый раз, когда вы вызываете ограниченный метод. Это трагично! Я благодарен за ваше предложение и думаю, что это будет большим достижением для разработчиков JavaME.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top