Как подписать мидлет без сертификата
Некоторым приложениям (мидлетам) требуется доступ к файловой системе, смскам, телефоной книге и т.д. вещам для своей работы. Однако, модель безопасности MIDP2.0 требует чтобы приложение было подписано (code signing). В противном случае, апплет не сможет получить доступ к закрытым функциям и работать просто не будет.
Возможно, это будет для кого-то новостью, но Моторола не поддерживает code-signing (подписывание приложений для мобильных устройств на J2ME в данном случае) с сертификатами от Thawte или Verisign. У Моторолы есть свой взгляд на это, и она предлагает подписывать приложения для запуска на своих устройствах только своими собственными сертификатами.
Поскольку сертификаты от упомянутых контор стоят не одну сотню долларов США и даются на определенный срок (обычно, оплата ежегодная), то брать еще и сертификат от конкретного производителя становится затратным. А если учесть, что ни один из сертификатов Verisign и Thawte не гарантирует работу на всех устройствах (одни поддерживают Thawte, другие — Verisign), и для полного счастья надо брать оба сертификата — то становится совсем грустно.
Однако, для многих устройств существуют обходные пути подписывания приложений неофициальными способами. Как подписать приложение на Java для запуска на Motorola пойдет речь ниже.
Я не знаю как обстоят дела на других телефонах, но все что пойдет ниже справедливо для Motorola Motoming A1200. Здесь для каждого мидлета существует файл registry.txt - манипулируя с которым, можно добиться повышения привилегий приложения.
Итак…
Сначала нужно закачать приложение в телефон (файлы .jar и .jad) — например, через USB-шнурок. Далее надо в файловом менеджере ткнуться в файл .jad и установить приложение. Важно: устанавливать надо только надо SD-карту! Иначе трюк не сработает. Теперь надо снова прицепить телефон к компьютеру и зайти в папку телефона .systemjavaDownloadApps — там вы найдете как минимум одну папку вида MIDletXXXX, где ХХХХ — это некие цифры. Теперь надо походить по этим папкам, заглянуть там в каждый файл registry.txt и найти тот, где упоминается наше приложение (найти можно по имени .jar-файла внутри).
Когда нужный файл registry.txt найден, надо кое-чего в нем подправить. Исправить нужно будет такие строки, чтобы они выглядели следующим образом:
DRM-Mode: Allowed
Is-Trusted: 1
Domain: Manufacturer
Теперь надо сохранить файл и отключить телефон от компьютера.
Далее надо зайти в список приложений на телефоне, ткнуть в иконку установленного приложения и держать пока не появится меню. В меню ткнуть в "управление", затем в "разрешения". Появится список прав доступа. Можно просто ткнуть в кнопку "ОК".
Все. Теперь если все было сделано правильно, приложение запустится без всяких сертификатов с необходимыми правами доступа к закрытым функциям.
До новых встреч.
Мой блог находят по следующим фразам
- кардшаринг
- универсальный ключ для игр alawar
- нщгошяя
- редактор для wordpress
- farmanager vs totalmanager
- видео для телефона
