爱技术

 找回密码
 注册会员

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 1590|回复: 13
收起左侧

S/SL75的Java软件免认证方法及注意事项

[复制链接]
发表于 2007-9-18 20:16:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册会员 微信登录

x
前言:对于那些非西门子原装软件及游戏,它们的部份功能一旦涉及到了系统访问和调用,就会跳出提示确认框,不厌其烦。对于x65机型可以使用CertifyMidlet软件来添加认证。但大多数都不适用于S/SL75及后续机型,也有部分JavaCertifyMidlet下认证失败,大家可以参考本篇来解决一些做认证时所发生的问题。

一、使用MidletSigner5来认证S/SL75Java
同上所述,CertifyMidlet的认证无法在S/SL75及后续机型上使用,所以就有高手写了MidletSigner5,但MidletSigner5并没有自己的shell界面无法像CertifyMidlet那样直观的使用。

使用MidletSigner5生成证书的方法我就不再叙述了拷贝一下大虾(可能是RainMoon 到底是不是我给忘了对不起啊!)的原文:
1、打开手机上隐藏目录(可以使用OD(OpenDisc)或者其他工具软件)
(对于75系列,要写SKEY到手机)

2、从手机拷贝文件“Config\policy\manufacturer.sbp”到MidletSigner所在目录的“Config\policy”文件夹

3、创建我们自己的认证:
3.1、运行“makecert.bat MyCertificate“命令(这里可以用我们自己的认证名字代替MyCertificate
3.2、拷贝文件 Config\Certificate Store\MyCertificate.der Config\policy\manufacturer.sbp 到手机的相应目录。

4、现在可以做我们自己的认证应用程序了:
4.1、拷贝我们自己的应用程序到MidletSigner所在目录(整个文件夹,必须包括JARJAD文件,没有JAD的用JADgen生成一个)
4.2、编辑 certify.bat 设置你所想要的权限
4.3、运行“certify.bat MyCertificate(3.1步所建的认证的名字) midlet_folder_name(你拷贝到MidletSigner所在目录的JAVA的文件夹的名称) 命令

注:
对于 3.1、运行“makecert.bat MyCertificate“命令 4.3、运行“certify.bat MyCertificate midlet_folder_name 命令 我已经写了两个bat文件,分别为GOMakeCert.bat(对应3.1操作)和GOCertify.bat(对应4.3操作),大家只要更改一下里面的路径信息以及DER文件的名字既可,我用的是MyCertificate。然后双击BAT文件就是执行相应的操作
GOMakeCert.batGOCertify.bat做修改还是比较容易的,这里我给出例子方便没有经历过DOS时代的机油
Windows下右键点击GOMakeCert.bat选择编辑会在记事本中看到一下内容"c:\MidletSigner5\makecert.bat MyCertificate",其中"c:\MidletSigner5"是你的MidletSigner5所在的路径,要根据你的MidletSigner5所在的路径做出相应的修改。"MyCertificate"是认证的名称,在这里可以修改成你喜欢的名称,但是注意:在这里如果修改的了认证的名称,在使用GOCertify.bat时也要做出相应的修改
接下来看GOCertify.bat,用相同的方法打开可以看到如下内容"certify.bat MyCertificate IdSoft24",其中的"MyCertificate"是认证的名称,注意:如果在GOMakeCert.bat中你修改了认证的名称这里也要做相应的修改。"IdSoft24"项则是你拷贝到MidletSigner5文件夹中的JAVA的文件夹的名称,需要根据你所拷贝到MidletSigner5文件夹中的JAVA的文件夹的名称做出相应的修改

二、一些大家比较关心的问题
1、如何选择自己需要的免认证选项。
使用记事本打开certify.bat文件看到如下位置:

set FILE_READ=1
文件读取权限
set FILE_READ_X65=0
文件读取权限(x65使用)
set FILE_WRITE=1
文件写入权限
set FILE_WRITE_X65=0
文件写入权限(x65使用)
set INTERNET=1
GPRS
网络访问权限
set SMS=0
短信发送权限
set MMS_X65=0
彩信发送权限(x65使用)
set COMM=1
*
不详,可能是手机接口使用权限
set BLUETOOTH=0
蓝牙使用权限
set PHONECALL=0
电话拨打权限
set PUSHREGISTRY=1
*
不详,也许是push信息什么的
set MEDIA=1
*
不详,也许是媒体管理器什么的或摄像头?
set MEDIA_X65=0
*
不详,也许是媒体管理器什么的或摄像头?(x65使用)
set ADDRESSBOOK_READ=1
通讯录读取权限
set ADDRESSBOOK_WRITE=1
通讯录写入权限
set EVENTLIST_READ=1
*
不详,可能是重要记事之类的的读取权限
set EVENTLIST_WRITE=1
*
不详,可能是重要记事之类的的写入权限

对于不详的地方,是我不理解也没试过的选项(没那么全的Java让我试啊~~希望知道的机油说一下)。
因为x65x75的权限指令部分有所不同所以也有x65使用的选项。
等于号后面的01即代表关闭和开启该项免认证。为1java使用过程中不再出现该项的提示确认,直接默认允许。0为需要选择是否允许,也就是出现提示确认框。建议将SMSPHONECALL等关乎Money的选项改为0,不然有些java随便发个短信(指使用手机功能发送短信与GPRS短信类软件无关,不要混淆了)、拨个电话都不会提示你了(那都是钱啊~!)
选择需要免认证的功能之后保存就可以了。而后就可以根据上面的方法进行免认证了。

2、对于部分免认证失败的软件。
如果你是通过手机下载的Java软件(点击jad下载的方式)的话,默认被下载的Javajad文件会被添加诸如此类的一行:(图为Messengerjad

未标题-.gif
这种情况下使用MidletSigner5来认证就会出现如下错误:

未标题-2.gif
解决方法很简单只要删除这被添加一行再保存就可以了。

对于部分Java,可以使用删除jad文件使用JADgen重新生成jad的方法进行免认证。

有时候,无论你使用什么方法都无法认证的情况下(包括以前可以成功免认证的Java软件也无法免认证),你可以试着删除MidletSigner5目录下的keystore.dat文件并重新拷贝原版manufacturer.sbp文件重新制作证书再进行免认证(如果证书名称和之前的相同,这个证书和manufacturer.sbp文件就不用再拷贝到手机了。对以前免认证过的和当前新免认证的Java都通用。但如果用了新的证书名称,则需要从新拷贝证书和修改后的manufacturer.sbp,以前认证过的也都要重新认证,否则无法使用)。

3、对于免认证成功但装入手机后启动失败的问题。
Messenger3.2.0来说。用以上方法终于免认证成功,但装入手机后却:

未标题-3.gif
太失望了该怎么办?其实也很简单。
用记事本打开Messengerjad文件,再用WinRAR打开jar文件下的META-INF下的MANIFEST.MF文件对比一下看出不同了吗??多了MIDlet-Certificate-1-1项和MIDlet-Jar-RSA-SHA1项??废话!这些就是免认证要用的!其实只要具体看看MIDlet-Permissions项就可以了,将MANIFEST.MF文件的MIDlet-Permissions这一项全部复制覆盖jad文件的MIDlet-Permissions项(可能jadMIDlet-Permissions项会很长很长,注意一下不要少了也不要多了。)保存后就可以了

未标题-4.gif
MANIFEST.MF文件)

未标题-5.gif
messenger.jad文件)
这样就可以了,如图:

未标题-6.gif
其实,Java启动失败都会有提示,注意观察就可以知道错在哪,而后进行修改。
发表于 2007-10-22 21:57:33 | 显示全部楼层
好文章,狂顶,最后楼主提到的那个"让人失望"的:“应用程序不正确"让我忙了整整一晚上都没找到问题所在,刚才偶然看见了这贴才知道其中的奥秘,受教了。
回复 支持 反对

使用道具 举报

发表于 2008-1-16 21:03:44 | 显示全部楼层
这种帖子竟然 没人顶,看来75区用JAVA的少啊
回复 支持 反对

使用道具 举报

发表于 2008-1-16 21:04:39 | 显示全部楼层
希望有人来做个汇总
回复 支持 反对

使用道具 举报

发表于 2008-1-17 00:42:12 | 显示全部楼层
这一个我得顶……虽然不打算改……
回复 支持 反对

使用道具 举报

发表于 2008-1-23 14:50:18 | 显示全部楼层
给个下载的信息啊~
在论坛上搜了半天没找到下载的
回复 支持 反对

使用道具 举报

发表于 2008-3-3 01:30:05 | 显示全部楼层
我都弄好了,运行出现 "安装失败,认证逾期"
"Application certificate is not yet valid. Please check your system time"
我内建的java如pdfviewer,也会出现这个错误。
要怎么办呢?
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2008-3-3 10:33:55 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-12 12:09:15 | 显示全部楼层
原帖由 gwq727233 于 2008-3-30 09:26 发表

我在GOMakeCert.bat里设了自己名字,但是运行makecert.bat 没任何反映,Certificate store里也没生成证书,运行GOMakeCert.bat出现下面的截图,可能问题出在这,怎么解决?

你好,忘了说了..你这个问题是因为你的电脑上没有安装JAVA虚拟机的缘故,http://www.java.com/zh_CN/,点这个网址下载JAVA虚拟机安装好后就可以了
回复 支持 反对

使用道具 举报

发表于 2008-4-12 23:10:15 | 显示全部楼层
顶顶留名,回头用上
回复 支持 反对

使用道具 举报

发表于 2008-4-13 22:44:17 | 显示全部楼层
先顶起~~~~~~
回复 支持 反对

使用道具 举报

发表于 2009-3-4 12:07:56 | 显示全部楼层
先留个名,以后再仔细看
回复 支持 反对

使用道具 举报

发表于 2009-4-29 20:25:19 | 显示全部楼层
牛帖啊!狂顶!
回复 支持 反对

使用道具 举报

发表于 2009-6-14 09:51:38 | 显示全部楼层
这个贴啊要顶。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员 微信登录

本版积分规则

小黑屋|Archiver|手机版|爱技术 ( 沪ICP备08115260号-3 )

GMT+8, 2024-5-18 06:11

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表