Подписываем (сертифицируем) Java приложения

    Поделиться
    avatar
    FENIX
    Любитель
    Любитель

    Подписываем (сертифицируем) Java приложения

    Сообщение автор FENIX в Ср Апр 01, 2009 9:46 pm

    Устанавливая Java приложения/игры требующие доступ во внешний источник, будь то память телефона, flash карта, интернет или камера, вы сталкиваетесь с проблемой, когда телефон постоянно спрашивает разрешение на доступ приложения к чему-либо.

    On-line сертификатор

    Данная статья описывает способ, как избавиться от запросов, и дать Java приложению/игре любые привилегии, с помощью программы behappy
    Подробная инструкция:

    Нужное ПО:

    -JRE (Java Runtime Environment) (~16 МБ)
    Поставили и забыли.
    -WinRAR (Думаю что он у вас есть) - (должен быть установлен до установки BeHappy)
    -MobiMb (~1 Мб) (для S40 обязательно, для S60 не помешает)

    Установка сертификата в телефон
    На Series 40 3rd Edition:
    Через MobiMB заливаем содержимое "user" из архива BeHappy в папку телефона "A:\Hiddenfolder\certificates\user\".
    (В MobiMB v3.5.31 нет диска А, все на С:\)
    На Series 60:
    Заливаем сертификат exp.cer (в папке "auth" из архива BeHappy) в смартфон и устанавливаем его. При установке отмечаем пункт "Установка приложений".

    Сертификация мидлета
    1. Запускаем BeHappy.
    2. Устанавливаем Permissions в соответствии с требованиями приложения. Можно установить автоматический способ, а можно назначить самостоятельно. Также появилась возможность добавлять Permissions в соответствии с предустановками. Пока, что в базе предустановок лишь небольшое количество приложений, но они пополняются по мере возможностей.
    а) Создавать автоматически-данный способ чаще всего не работает, т.к. разработчики не всегда вносят список нужных Permissions в сам мидлет. Но, если они есть, то рекомендуется ставить этот пункт;
    б) Назначить следующие-выбрав данный пункт, нужно галочками пометить нужные права необходимые приложению/игре. Делаем это наугад . Не сложно догадаться, если вы ставите файл менеджер, то ему нужен доступ к файловой системе(чтение/запись), а если интернет браузер-то доступ в интернет(в данном случае Socket) и т.д.
    Не стоит забывать, что для разных приложений нужны разные Permissions, не забывайте переназначать их, когда подписываете новое приложение.
    3. Программа настроена. Осталось только подписать. Запросто!!!
    а) Drag&Drop мидлета (.jar или .jad) на форму программы;
    б) Нажимаем Открыть на форме программы, через контекстное меню формы или трея. В появившемся окне выбираем нужный файл;
    в) Через проводник правой кнопкой по файлу мидлета -> Подписать. (Это делайте, если точно знаете, что установленные Permissions подходят)

    Теперь осталось лишь добавить "то, что получилось" (.jar файл и одноименный .jad) в телефон
    На Series 40:
    1. Заливаем "то, что получилось" в телефон.
    2. Выбираем приложение (из п1) нажимаем Функции -> Доступ. Устанавливаем Разрешено на нужный доступ.
    На Series 60:
    1. Заливаем "то, что получилось" в смартфон.
    2. Устанавливаем ОБЯЗАТЕЛЬНО ЧЕРЕЗ JAD.
    3. Через диспетчер приложений, в настройках установленного приложения, ставим нужные пункты.

    Все. Радуемся!!!

    Вопросы - Ответы:

    Q: Приложение/игра начала просить сертификат или стала недопустимым приложением.
    A: Появление столь странного глюка мне не понятно до сих пор, но решается перезагрузкой телефона и/или вытаскиванием flash карты, иногда требуется удалить некоторые приложения или игры.




    A: Временно лечится следующим образом:
    1) Перезапускаем телефон;
    2) На приложении функции-> доступ приложения-> доступ к данным-> запись м/медии- "только первый". Перезапускаем телефон.
    3) После включения функции-> доступ приложения- ставим где возможно "разрешить".

    Q: MultiTime сборка при перемещении начала просить сертификат.
    A: Это получается, из-за того, что при перемещении такого приложения, jad файл остается на месте. Природа глюка не известна.

    Q: Все сделано правильно, но приложение все равно остается недопустимым.
    A: Назначены лишние Permissions, в этом случае уберите все лишние и подпишите заново.
    A: Возможно, у вас установлен старый дистрибутив JRE, обновите его.
    A: Если вы что-то меняли в настойках Java, не зная того, что делаете, просто назначьте настройки по умолчанию (соответствующей кнопкой в настройках BeHappy).

    Q: Подписанное приложение работает, но не сохраняются настройки Доступа, вследствии приложению отказан любой доступ.
    A: В таком случае поможет замена файла атрибутов (_jmr_suite_attrib_file_.jmr из архива BeHappy в A:\Hiddenfolder).

    FAQ
    Q: Программа обновилась, нужно заново устанавливать сертификат в телефон?
    A: Нет, это делать не нужно.

    Q: Можно использовать BeHappy с JDK(Java Developers Kit) или подобными?
    A: Да, можно. Для этого при ошибке нужно указать на файл java.exe.
    В JDK он находится в %JDK Path%\bin\java.exe, где %JDK Path% - путь установки JDK

    Q: У меня телефон 6270. Через MobiMB не видно папку certificates. Что делать.
    A: К сожалению, в вашем случае ничего не сделаешь. Возможно, в будущих прошивках папка certifictes станет доступна.

    Q: У меня смартфон на Symbian OS9 при установке сертификата в телефон нет пункта "Установка приложений". Естественно, подписанные приложения не работают.
    A: Да, такой способ работает на всех Symbian, кроме 9й версии.

    Объявления:
    -Удаление сертификата производите только через телефон. (на S60 и S40)
    Настройки -> Защита -> Сертификаты пользователя -> Список сертификатов
    Далее выбираете нужный сертификат -> Функции -> Удалить


    _________________




      Текущее время Пт Ноя 16, 2018 1:30 pm