Цитата(Motohobiman @ Среда, 20 Декабря 2006, 20:35)
Правильно всё.А вот подписать наверное не выйдет хотя...
подписать можно, а вот можно ли в мотор внести новый (свой) сертификат
вот ссылка на прогу
http://www.allsiemens.ru/soft/java-1.htm Midlet Signer 5
а это фак
Итак, для чего нужна эта программа?
Вы наверняка заметили, что любой мидлет, обращающийся к файлам в
памяти телефона или выходящий в интернет, каждый раз выдаёт
надоедливые окошки "разрешить?.." Избавиться от них можно, снабдив
мидлет цифровой подписью. Раньше это мог сделать только разработчик,
обратившись в центр сертификации (который, понятное дело, хочет за это
денежек :) Теперь же вы можете сами подписывать java-мидлеты.
Кроме избавлния от лишних вопросов, это даёт возможность (для
разработчиков) запускать мидлет автоматически в нужное время, или
по событию (наример, приход СМСки).
Что для этого нужно?
- JRE версии не меньше 1.3
- для 65-й серии: OpenDisc v2.0 от SiNgle, скачать его можно
здесь:
http://allsiemens.com/soft/download.php?id...&file=OD_02.rar- для 75-й серии: в телефон должен быть введён SKEY (сделать это
можно с помощью программы PapuaUtils, которая лежит на сайте
автора:
http://papuas.allsiemens.com).
Здесь и далее под 65-й серией понимаются телефоны х65, х70, С75,
М75, МЕ75, под 75-й - S75, SL75 и более новые.
Если нет желания качать многометровый JRE, можете воспользоваться
минимальным пакетом, который лежит на
http://chaos.allsiemens.com(хотя у меня он работает, нет никакой гарантии, что он заработает
у вас. Более того, кроме MidletSigner-a, с этим пакетом никакие
JAVA-программы работать не будут).
Проверьте, чтобы была установлена переменная окружения JAVA_HOME.
Если её нет, можете просто добавить в начало certify.bat строчку:
set JAVA_HOME=C:\JRE (ну или где там у вас JRE установлен).
Хотя если путь к java.exe установлен, всё будет работать и так.
Распакуйте архив MidletSigner куда-нибудь на диск; все нижеприве-
денные команды нужно выполнять, из командной строки, находясь в
этом каталоге.
В первую очередь скопируйте файл Config\Policy\manufacturer.sbp
с телефона в каталог Config\Policy программы MidletSigner.
На всякий случай сделайте его резервную копию в другом месте.
Далее нужно сгенерировать свой сертификат (в отличие от
первой версии, сейчас вы сами генерите сертификат для себя, что
значительно повышает вашу безопасность :))
makecert.bat <имя_сертификата>
например, makecert.bat Vasya
В результате должны получиться 2 файла:
Config\Certificate Store\Vasya.der
Config\Policy\manufacturer.sbp
Cкопируйте файл .der в каталог "Config\Certificate store" телефона, а
manufacturer.sbp - в "Config\Policy" (заменяя тот, который там был).
Теперь телефон воспримет наш сертификат как родной :)
Теперь займёмся подписыванием мидлетов. Делается это очень просто:
в командной строке набираем
certify.bat имя_сертификата путь_к_папке_мидлета
(Пример: certify.bat Vasya Microreader)
Для простоты лучше скопировать мидлет в папку MidletSigner.
В папке мидлета должны быть JAD и JAR файлы. Если JAD-файла нет,
сгенерите его каким-нибудь JAD-генератором.
Предварительно можно установить нужные разрешения для мидлета
в certify.bat (0=запрещено, 1=разрешено):
FILE_READ - доступ к файловой системе на чтение
FILE_WRITE - доступ к файловой системе на запись
INTERNET - доступ в интернет
SMS - отсылка и приём СМС
MMS - отсылка ММС
COMM - работа с компортом
BLUETOOTH - связь по bluetooth
PUSHREGISTRY - автоматический запуск мидлета, запуск по событию
MEDIA - сьёмка и видеозапись из мидлета
ADDRESSBOOK - работа с адресной книгой телефона
EVENT - работа с органайзером
В JAD-файле должны появиться строчки MIDlet-Certificate-1-1,
MIDlet-Jar-RSA-SHA1 и MIDlet-Permissions.
После этого копируем мидлет в телефон. На Windows 9x/ME в результате
работы программы имя JAD-файла исказится - либо переименуйте его
вручную. либо следите чтоб в папке на телефоне не оказались два
JAD-файла.
Ещё один момент: если у вас дата/время на телефоне и на компьютере
отличаются, мидлет может при запуске выдать ошибку "просрочен
сертификат".
PS1. Всё-таки запросы на подтверждение не зря придумали.
Не стоит давать меизвестным мидлетам полную свободу, чтобы
потом не удивляться "кто это с моего телефона послал
500 смсок?"
PS2. С вопросами вроде "а что такое командная строка?" просьба
сразу идти в какой-нибудь FAQ :)
© Chaos, thanks to SiNgle, LazyC0DEr, vsu_