Привилегированные операции в мобильности NetBeans
Я пишу приложение Java ME, которое будет использовать привилегированные операции, такие как обмен сообщениями. По умолчанию пользователю предлагается подтвердить каждую из этих операций, но я хотел бы запустить его в качестве фоновой службы.
Документация говорит, что для запроса разрешения в файле JAD я сделал это и предполагаю, что он будет работать на устройстве. Однако я хотел бы сначала проверить это на эмуляторе мобильности Netbeans.
Я попытался подписать приложение как "доверенное", но мое эмулированное выполнение все еще запрашивает у пользователя разрешение.
1 ответ
Модель безопасности MIDP должна быть объяснена в 2 частях:
Телефон (или эмулятор) содержит политику безопасности.
Политика безопасности состоит из нескольких доменов.
каждый домен определяет функциональные группы и корневые сертификаты.
Группа функций решает, какие варианты защиты (автоматическое согласие всегда, пользователь всегда согласен, пользователь соглашается один раз...) доступны в домене, для которого защищен API (т. е. обмен сообщениями).
Домен, который применяется к вашему MID-лету, зависит от того, какой из корневых сертификатов доверяет сертификату, которым вы подписали свой MID-лет.
Ваша проблема в том, что существует несоответствие между тем, что, по вашему мнению, должны быть варианты защиты для API, который вы хотите в домене, который, по вашему мнению, принадлежит вашему мидлету, и тем, что фактически определено в политике безопасности эмулятора.
РЕДАКТИРОВАТЬ:
инструкции для эмуляторов на основе WTK:
Есть 3 _policy.txt*
файлы в ${netbeans_installation_folder}\mobility8\WTK2.5.2\j2mewtk_template\appdb\
папка.
Каждый из них содержит список определений "псевдонимов" и список определений "доменов".
Сделайте так, чтобы у каждого домена был тот же контент, что и у "максимального" домена.
После этого Ваш эмулятор никогда больше не будет запрашивать разрешения пользователя.
Если вы уже использовали эмулятор, содержащийся в Netbeans, вы, вероятно, захотите внести те же изменения в ${netbeans_installation_folder}\mobility8\WTK2.5.2\appdb\
папка.