MIDP 2.0標準定義了4個安全域(Security Domain),每一個MIDlet在安裝之后,都被分配到其中一個安全與當中。他們是:
- 受限制的第三方域(不被信任的第三方應用程序)
- 無限制的第三方域(被信任的第三方應用程序)
- 運營商保護域
- 手機設備制造商保護域
每一個保護域都有相應的訪問受保護(敏感的)API的限制級別。受保護API的訪問被劃分分為如下幾個功能組:
- 網絡訪問(MIDP標準還定義了底層網絡訪問權限,但是大多數手機生產商將他們貴為了網絡訪問類中)
- 消息(MIDP標準還定義了受限制消息組)
- 應用程序自動啟動
- 本地連接(如藍牙/紅外等)
- 多媒體錄制
- 讀取用戶數據(包括本地文件和個人信息管理--PIM--數據)
- 寫入/修改用戶數據(包括本地文件和個人信息管理--PIM--數據)
- 位置服務
- 坐標存儲
- 智能卡通訊
- 鑒權
- 通話控制
- 撥打電話
Java標準包括了許多版本的API訪問權限的管理:
一個沒有進行數字簽名的MIDlet會被歸為不信任的第三方域,該域中的應用程序會受到最大程度的訪問限制。如果一個MIDlet進行了數字簽名,那么根據他簽名的公鑰證書,手機設備將會把它分配到不同的信任安全域中。也就是說如果簽名時使用的是信任的第三方安全證書,那么運行時候獲得的訪問權限將是信任第三方域中的;如果簽名時使用的是手機設備制造商安全證書,那么運行時候獲得的訪問權限將是手機設備生產商域(最高訪問權限)中的。其實,在MIDP 2.0的標準規范中還定義了十分復雜的安裝時檢驗機制,更多詳情請參考MIDP 2.0的標準規范。
如果你的應用程序通過了Java Verified測試,那么你就可以用UTI根證書進行簽名,有了此項簽名你的程序將被放置在信任的第三方域中。其他認證機構也提供了可以將MIDlet簽名為受信任的第三方程序的證書,他們是:
因為MIDP標準規范提供的安全域策略僅僅是一個推薦規范(recommendation),有的運營商和設備生產商也可以定義自己的安全域與API訪問之間的關系,這些標準包括:
其他的普通手機,有時也會對API訪問設置不同版本的安全域級別定義