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