Привилегированные операции в NetBeans mobility


Я пишу приложение Java ME, которое будет использовать привилегированные операции, такие как обмен сообщениями. По умолчанию пользователю предлагается подтвердить каждую из этих операций,но я хотел бы запустить ее в фоновом режиме.

Документация говорит, чтобы запросить разрешение в файле jad, я сделал это и предполагаю, что он будет работать на устройстве. Однако сначала я хотел бы проверить это на эмуляторе мобильности Netbeans.

Я попытался подписать приложение как "доверенное", но мое эмулированное выполнение все еще запрашивает пользователь для разрешения.

1 3

1 ответ:

Модель безопасности MIDP должна быть объяснена в двух частях:

Телефон (или эмулятор) содержит политику безопасности.
Политика безопасности состоит из нескольких доменов.
каждый домен определяет функциональные группы и корневые сертификаты.
функциональная группа решает, какие параметры защиты (авто согласен всегда, пользователь согласен всегда, пользователь согласен один раз...) доступны в домене, для которого защищен API (т. е. обмен сообщениями).

Домен, который применяется к вашему Мидлету, зависит от какой из корневых сертификатов доверяет сертификату, с которым вы подписали Мидлет.

Ваша проблема заключается в том, что существует несоответствие между тем, что вы думаете, что параметры защиты должны быть для API, который вы хотите в домене, к которому, по вашему мнению, принадлежит ваш Мидлет, и тем, что на самом деле определено в политике безопасности эмулятора.

Правка:

Инструкции для эмуляторов на основе WTK:

В папке ${netbeans_installation_folder}\mobility8\WTK2.5.2\j2mewtk_template\appdb\ находятся 3 файла _policy.txt*.

Каждый из них содержит список определений "псевдонимов". и список определений "домена".

Сделайте так, чтобы каждый домен имел то же содержание, что и "максимальный" домен.

После этого ваш эмулятор никогда больше не будет запрашивать разрешения пользователя .

Если вы уже использовали эмулятор, содержащийся в Netbeans, вы, вероятно, захотите внести те же изменения в папку ${netbeans_installation_folder}\mobility8\WTK2.5.2\appdb\.