通过JavaME的WMA可选包发送短信时,手机会提示是否允许程序发送该短信,虽然不太影响应用,但每次都要按一下允许也很不爽。从网上看到有人说对jar包签名后就不会出现这种情况了,但是签名的证书要向两个大公司买,因为手机里面一般只内置了那两个大公司的根证书,而且手机不允许安装新的根证书,这不分明是圈钱吗?不知道当初制定这个标准的家伙收了那两个公司多少黑钱!虽然这样会使很多病毒不能运行,但是那两个公司又不是上帝,给钱就可以买到证书了,他们又没什么力量也不会去研究购买证书的人要干什么,如果有恶意的人只要花点钱,同样可以造出带签名的病毒来。
但是办法总是有的,有人另辟蹊径,通过非常手段给手机安装一个自己制作的根证书。详细过程可以看这里:
http://browndrf.blogspot.com/,原理就是利用了NOKIA某些型号的手机可以通过web下载证书并安装的漏洞。我实验了一下,整个过程其实不用那么复杂,不需要用到NOKIA的签名工具,直接用SUN WTK的签名工具就可以了,也不需要通过网络安装程序,跟平时安装没签名的程序一样。
然而,签了名的程序同样需要确认才能发送短信!而且比没签名的程序更麻烦,还要在MIDLet-Permissions里面填上一大堆许可,不签名的软件这个项根本不用填。唯一的好处是安装的时候不会提示程序不受信任,而且不能用无签名的同名程序覆盖。但是这种安装过程的问题并不需要多大关注,因为安装只是很少的时间,关键是使用。
后来在这里:
http://blog.csdn.net/zhengyun_ustc/archive/2006/04/07/654226.aspx又发现一篇文章,说明能够安装根证书的不过是个别机型的漏洞,是不符合MIDP 2.0安全标准的,算了,这个问题还是没法解决,死心!
JavaME真的有点像鸡肋,它最大的优点是跨平台,但各种手机的支持程度又各不相同,一点点小的差异就搞得人晕头转向。而且各种各样的限制使得它最多就弄点小游戏玩玩,要连接网络还得一堆的许可,程序大了还容易莫名其妙地崩溃。真是食之无味,弃之可惜。
可是,我还是要搞……