通過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真的有點像雞肋,它最大的優點是跨平臺,但各種手機的支持程度又各不相同,一點點小的差異就搞得人暈頭轉向。而且各種各樣的限制使得它最多就弄點小游戲玩玩,要連接網絡還得一堆的許可,程序大了還容易莫名其妙地崩潰。真是食之無味,棄之可惜。
可是,我還是要搞……