Привилегированные операции в мобильности NetBeans - PullRequest
3 голосов
/ 10 ноября 2009

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

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

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

1 Ответ

2 голосов
/ 11 ноября 2009

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

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

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

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

EDIT:

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

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

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

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

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

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

...