Привилегированные операции в NetBeans mobility
Я пишу приложение Java ME, которое будет использовать привилегированные операции, такие как обмен сообщениями. По умолчанию пользователю предлагается подтвердить каждую из этих операций,но я хотел бы запустить ее в фоновом режиме.
Документация говорит, чтобы запросить разрешение в файле jad, я сделал это и предполагаю, что он будет работать на устройстве. Однако сначала я хотел бы проверить это на эмуляторе мобильности Netbeans.
Я попытался подписать приложение как "доверенное", но мое эмулированное выполнение все еще запрашивает пользователь для разрешения.
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\
.