Сертификация java. Избавление от запросов на чтение/запись н
Q1: Что это? A1: Это внесение в установочные файлы программ на java данных, полученных специальными алгоритмами с помощью особых сертификатов.
Q2: Зачем это? A2: Для избавления от ужасно надоедливых запросов на общение прог с "внешней средой" (интернетом, файловой системой, камерой...).
Q3: А зачем это нужно именно МНЕ? A3: Действительно, ни за чем. Я очень рад, что тебя не затронула данная проблема. Дальше ты можешь не читать эту статью-не забивай себе голову ;-) те, кого это интересует, уже всё давно поняли.
Q4: Действует ли данный способ на моей мобиле? A4: Этот способ действует частично на Symbian 8 (избавление от запросов на чтение//запись по jsr75),почти полностью (чтение//запись и выход в инет) - на 8.1. Сертификация данным способом НЕ дает результатов на 7 и 9.1, а так же на телефонах Nokia Series 40.
Q5: Я могу сам подписать прогу? A5: Да. Это достаточно просто сделать. Кратко: необходимо скачать 3 файла (около 53 метров), установить их на компьютер, далее в командной строке набрать несколько команд и всё =))) Подробно: необходимо скачать Java Development Kit и установить jdk на свой компьютер. После этого необходимо нажать пуск=>выполнить. Откроется командная строка Windows. В ней нужно набирать почти все команды. Итак, сначала (по решению Великого Собрания Java Sigher'ов DimonVideo.Ru :) ) необходимо импортировать сертификат в твое хранилище сертификатов. Для этого скачаем его отсюда (ссылка будет предоставлена чуть позже) и наберем в командной строке {jdk_path}binkeytool -import -alias DV -file {cert_path}, где {jdk_path} - это путь к установленному jdk, по умолчанию C:j2sdk1.4.2_08 (если установка была произведена в другое место, измените путь на нужный!); {cert_path} - путь к скачанному сертификату. !!!Фигурные скобки писать не нужно! Данные без фигурных скобок менять нельзя!!!
После этого в открывшемся окне необходимо набрать пароль к хранилищу сертификатов (его необходимо придумать и запомнитьь или записать), нажать "Enter", затем "yes" и снова "Enter". Сертификат импортирован. Далее следует само сертифицировавние. 1. Подписываем jar {jdk_path}binjarsigner -keystore {keystore} -storepass {password} {jar} {alias}, где {keystore} - путь к файлу .keystore (писать вместе с именем!), {password} - пароль к хранилищу сертификатов, {jar} - путь к подписываемому jar'у (писать вместе с именем!) 2. Создаем jad. Это можно сделать несколькими способами, я же приведу самый, на мой взгляд, простой: качаем прогу JadGen, перетаскиваем на ее значок значок jar'a и lad создан. Теперь неообходимо открыть его в текстовом редакторе (Блокноте, например) и убрать оттуда все строки, начинающиеся на Name: и SHA1-Digest: . Далее прописываем в отдельной строке то, к чему эта прога будет иметь доступ. В большинстве случаев хватит этой строки: MIDlet-Permissions: javax.microedition.io.Connector.file.read, javax.microedition.io.Connector.file.write, javax.microedition.io.Connector.http, javax.microedition.io.Connector.socket, javax.microedition.io.Connector.https, javax.microedition.media.control.VideoControl.getSnapshot
После этого сохраняем файл. Jad создан. 3. Подписываем jad. Качаем отсюда и кидаем в папку {jdk_path}bin, затем вводим java -jar JadTool.jar -addcert -alias {alias} -storepass {password} -keystore {keystore} -inputjad {inputjad} -outputjad {outputjad}, где {inputjad} - имя созданного тобой jada, {outputjad} - имя частично подписанного jada, может быть таким же, как {inputjad}. 4. Продолжаем подписывать jad. {jdk_path}binjava -jar JadTool.jar -addjarsig -alias {alias} -jarfile {jar} -storepass {password} -keypass dimonru -keystore {keystore} -inputjad {inputjad2} -outputjad {outputjad2},где {inputjad2} - это {outputjad} из пункта 3, {outputjad2} - имя конечного jada. Программа подписана :)) Теперь нужно отправить на смарт скачанный сертификат, jad и jar и перейти к Q8.
Q6: Отлично, но это слишком сложнодорого для меня, где можно взять нужную мне подписанную прогу? A6: Можно зайти сюда и посмотреть на первый пост,который постоянно редактируется, какие проги уже подписаны. Если ты не нашел нужной тебе-ее можно заказать там же.
Q7: А могу ли я подписать прогу со своего любимого смарта, на котором я делаю всё,что мне нужно? A7: К великому сожалению,это пока невозможно сделать со смарта :( только комп.
Q8: Я скачал 3 файла: *.jad, *.jar и какой-то *.crt. Что мне сделать с ними, чтобы нормально установить прогу и избавиться от этих жутких запросов? A8: Для начала ты должен установить *.crt, просто открыв его. Необходимо нажать 2 раза "сохранить", затем нажать "ок" и выставить всё флажки, затем снова нажать "ок". Сертификат сохранен. Далее ты должен положить *.jad и *.jar в одну папку, и установить *.JAD (!!!). После сообщения об успешной установке необходимо зайти в диспетчер приложений, найти недавно установленное приложение, нажать Select => настройки приложения, и в необходимых боксах выставить нужные разрешения (например, чтение данных-разрешено всегда). Всё. Теперь можно пользоваться прогой :)
Q9: Так,я установил прогу, запустил, а запросы всё равно остались! Автор, ты тут написал какую шнягу! A9: Ещё раз проверь, поставлены ли флажки напротив всех пунктов при установке тестового сертификата. Так же проверь настройки доступа приложения в менеджере приложений.И главное: я не имею никакого отношения ни к jdk (sun.com), ни к symbian os, ни к программам, которые ты собрался подписать, ни к твоему компу, уму, рукам и прочему. Я лишь делюсь с тобой реально действующим способом, который я проверил сам.
Q10: Я очень признателен за эту информацию. Она мне очень помогла, давно ждал выхода из этой ситуации. Как я могу тебя отблагодарить? :) A10: Есть несколько способов. 1. Выразить благодарность мне посредством личного общения (по телефону, SMS, E-mail, аське, личным сообщениям и т. д. :) ) 2. Сказать "спасибо", нажав на специальную кнопку под статьей, или написать комментарий.
Q11: Я всё сделал так,как здесь написано,у меня всё получилось, но благодарить категорически не хочу-не ты, так другой человек сделал бы это, и вообще это фигня какая-то, бред, одним словом. A11: Что ж, я уже рад, что ты не предъявляешь мне претензий и что инфа принесла тебе пользу. Я выкладывал ее не для славы и благодарности, а для помощи людям =)
Q12: У меня ни фига не получилось, я зол на тебя-ты отнял мое время! A12: Мне очень жаль, но я в этом абсолютно не виноват :( попробуй связаться со мной, возможно, я смогу помочь устранить твою проблему... Быть может, проблема в софте от sun или в тех прогах, которые были предметом сертификации. Если же нет-увы, не судьба...
Дисклаймер. Я не несу ответственности за те последствия, которые могут наступить при использовании вредоносных программ, подписанных моим способом. Ты действуешь лишь на свой страх и риск.
Благодарности. В первую очередь хочу поблагодарить MVM506123 за найденную им опорную инфу :) особо хочу поблагодарить [WL] за своеобразную помощь: копирование основной информации из моей темы без ссылки на меня или тему, чем он заставил меня быстрее заняться сертификацией :) Так же хочу сказать "спасибо" тем людям, которые развивали тему, подписывали проги - в общем, не оставались безучастными к этой проблеме и старались донести ее решение до "широких масс" :)