j2me 关于MIDP 读取jad文件

通常MIDP的应用程序是以.jar文件和.jad文件发布的,在jad文件中包含着Application Management Software用来管理MIDlets的生命周期的信息,

在jar包中包括一个目录META-INFO里面有个文件是MANIFEST.MF。它是用来描述JAR文件的,在MANIFEST.MF和JAD文件中的一些值是相同的,

如果MIDlets的jar包是signed(签署)的,那么AMS要去查看它的数字签名,如果是有效的那么它会首先去读取MANIFEST.MF的内容,然后读取jad文件中相同的内容,如果匹配的话那么它会安装这个jar包,如果不匹配的话就会拒绝安装。如果它发现数字签名无效的话直接就会拒绝安装。如果MIDlets的jar包是unsigned的话,那么AMS就把它认为是非信任的,他去读取jad文件的属性,如果发现没有的话它去读取MANIFEST的内容,也就是说如果jad和MANIFEST里都有的属性AMS只会去读取jad中的。

由于一个MIDlet suite里面可以有多个MIDlet的,因此你要说明他们比如MIDlet-1,MIDlet-2…..MIDlet-n,这一点非常的重要,在部署jar和jad文件到手机的时候一定要确保MIDlet-Name的正确,它的值是你的jar包的名字!否则不会安装成功的。还有两个值是jad文件中不许有的他们是MIDlet-Jar-URL ,
MIDlet-Jar-Size 其中应该注意的是MIDlet-Jar-URL,如果你要是通过OTA下载的话,那么你不许让他指向你jar包的绝对地址,例如http://myip:port/app/myapp.jar。

两种MIDlet

理解了保护域的概念就不难理解MIDP2.0安全体系结构定义的两种MIDlet——非信任MIDlet和信任MIDlet。

对于设备无法验证JAR文件来源和完整性的MIDlet套件,MIDP 2.0规范将其定义为非信任。非信任MIDlet运行在非信任保护域上。根据我们前面对非信任保护域的讨论,我们得知这并非表示MIDlet无法安装或执行;而是根据设备上保护域的是实现,要么API不能访问,要么对受限操作的访问需要显式用户许可。缺省情况下,所有MIDP 1.0的 MIDlet均为非信任的。

如果设备能够验证MIDlet套件的真实性和完整性并将其分配到一个保护域,MIDlet套件则被称作信任MIDlet套件。根据其保护域的行为,信任MIDlet套件将获得所请求的许可。例如,如果请求javax.microedition.io.Connector.http许可,且保护域已经将许可设置为trusted,那么无需用户确认即可打开HTTP连接。不要认为信任MIDlet套件一定运行在信任保护域上。信任MIDlet套件可分配给任何保护域,信任保护域只是其中一种,或者它在设备上干脆叫做别的名字。另外,推荐安全策略仅仅建议信任MIDlet对MIDP2的API调用不需要用户参与。所以如果你的信任MIDlet在使用某个非MIDP2规定的敏感API时出现了用户显式确认提示,请不要惊讶。不过一般出现这种情况都会有blanket(总是允许)模式供用户选择。

JAD文件的属性:

a) MIDlet-Jar-Size Jar文件大小,一般开发工具可自动生成。

b) MIDlet-Name MIDlet套件的名称。

c) MIDlet-Version J2ME程序版本。

d) MicroEdition-Configuration J2ME程序要求的配置的版本

e) MicroEdition-Profile 使用的规范的版本,MIDP-1.0和MIDP-2.0。

f) MIDlet-Vendor 该程序的提供商。

g) MIDlet-Jar-URL 该程序的Jar文件所在的网络地址。

h) MIDlet-n 其中n为大于0的自然数,使用该参数来指定启动的MIDlet的类名以及显示的名字。

可选属性:

a) MIDlet-Icon 使用的图标文件。

b) MIDlet–Data-Size 该程序用于进行记录数据存储的最小空间,单位是Byte。一般由系统自动生成。

c) MIDlet-Delete-Confirm 该程序被删除时向用户显示的信息。

d) MIDlet-Delete-Notify 改程序被删除时,发送报告使用的URL,必须以http://开始。

e) MIDlet-Description 该程序的详细描述信息。

f) MIDlet-Info-URL 该程序在网络上的更加详细的介绍信息地址。

g) MIDlet-Install-Notify 该程序安装成功后,发送报告使用的URL,必须以http://开头。

manifest.mf文件所有可能的信息如下:

MIDlet-Name ---MIDlet程序包的名称。

MIDlet-Version --MIDlet的版本号

MIDlet-Vendor —–MIDlet的创建者或提供商

MIDlet-Icon ———应用程序管理器把这个图标与 MIDlet-Name相关联,这是一个图形文件,以 PNG图象格式储存。

MIDlet-Description —–描述 MIDlet的文本
MIDlet-Info-URL —–可能提供更多MIDlet和/或供应商信息的 URL MIDlet- 这个属性包括三段信息:
MIDlet名称 /用于这个 MIDlet的图标(可选) /应用程序管理器将调用来加载这个MIDlet的类名
MIDlet-Jar-URL—- JAR文件的 URL MIDlet-Jar-Size —-JAR文件的大小
MIDlet-Data-Size—- 持久数据存储必需的最小字节数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值