技术&教程 < 首页
2 Jan

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

By: Soil 0 COMMENTS

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

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

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

2、从手机拷贝文件“Configpolicymanufacturer.sbp”到MidletSigner所在目录的“Configpolicy”文件夹

3、创建我们自己的认证:
3.1、运行“makecert.bat MyCertificate“命令(这里可以用我们自己的认证名字代替MyCertificate )
3.2、拷贝文件 “ConfigCertificate StoreMyCertificate.der” 和 “Configpolicymanufacturer.sbp” 到手机的相应目录。

4、现在可以做我们自己的认证应用程序了:
4.1、拷贝我们自己的应用程序到MidletSigner所在目录(整个文件夹,必须包括JAR和JAD文件,没有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.bat和GOCertify.bat做修改还是比较容易的,这里我给出例子方便没有经历过DOS时代的机油
在Windows下右键点击GOMakeCert.bat选择编辑会在记事本中看到一下内容”c:MidletSigner5makecert.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让我试啊~~希望知道的机油说一下)。
因为x65和x75的权限指令部分有所不同所以也有x65使用的选项。
等于号后面的0和1即代表关闭和开启该项免认证。为1则java使用过程中不再出现该项的提示确认,直接默认允许。0为需要选择是否允许,也就是出现提示确认框。建议将SMS、PHONECALL等关乎Money的选项改为0,不然有些java随便发个短信(指使用手机功能发送短信与GPRS短信类软件无关,不要混淆了)、拨个电话都不会提示你了(那都是钱啊~!)
选择需要免认证的功能之后保存就可以了。而后就可以根据上面的方法进行免认证了。

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

S75认证1
这种情况下使用MidletSigner5来认证就会出现如下错误:

S75认证2

解决方法很简单只要删除这被添加一行再保存就可以了。

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

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

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

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

S75认证4

(MANIFEST.MF文件)
S75认证6
(messenger.jad文件)
这样就可以了,如图:
S75认证7
其实,Java启动失败都会有提示,注意观察就可以知道错在哪,而后进行修改。

MS5下载:midletsigner5

后叙:这是一篇很久以前在0110 上发过的文章,现在翻出来贴在自己什么都没有的博客上,虽然很久没玩西门子了单依旧感触颇多,一代王者的没落…曾经的辉煌曾经的SiemensMoblie

原创文章 转载请注明出处 Soilliu

本文地址:http://cms.xisix.com:8880/post-60.html

添加新评论