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