MIDlet-Certificate-1-1 |
MIDlet-Certificate-1-1: MIICTjCCAbcCBEQ06RcwDQYJKoZIhvcNAQEE。。。blabla |
MIDlet-Certificate-1-1 |
Name: res/icons/logo.png SHA1-Digest: 7waVS61BFIfNrpz8/CeyuskUGuU= Name: res/icons/exit.png SHA1-Digest: L+8Kb/TeuRUpWsq5qrU9epu5Srw= |
Authorisation Failed |
I've seen Authorisation Failed a few times now. Typically rebooting the phone (and taking the battery out0 fixes it for me. I'ver heard that linebreaks in the permissions attribute in the Manifest can cause problems but it seems ok to me on 6680/6630/6230i(could be firmware dependent?). Maybe you should try a shorter permission string? Other things I have heard cause problems MIDlet-Permissions contains permissions that the phone doesn't support? |
论坛贴子之摘录 |
Signing a midlet suite Question: We have purchased a code signing certificate from verisign to sign our midlet. However it does not appear to work. The certificate we received back from verisign is a chain of certificates. Can you look at the certificate and tell me if it should work i.e. is the root CA for the cert on the phone. If I need to add additional 'Midlet-Certificate' entries in the jad can you please advise on what they should be. Answer: The issue is that you can not purchase a certificate through Verisign or any other Authority and sign the midlet yourself - it will not work. You need to go through Motorola in order to get this done, but it will only be done if there is a business relationship with Motorola and your company. |
论坛贴子之摘录 |
我总结一下步骤: 1. 如果你没有NDA,那么请到MOTOcoder.com的首页,上面有一个“Innovate”的链接,在这里提交申请。 2. 确定你的公司和摩托罗拉之间有一个有效的NDA (Non Disclosure Agreement)!而且必须是和Motorola Mobile Devices Business or PCS (Personal Communications Sector)的协议! 3. 告诉摩托罗拉你的应用(MIDlet)需要在哪些设备上运行! 4. 告诉摩托罗拉为什么要提出Signing Request?你的应用都要使用到哪些受限制的API? 5. 通知Motorola Business Sponsor。通过motocoder站点的“Ask A Question”这个链接来提交。 |
作者 dingjf7516
http://www.j2medev.com/bbs/dispbbs.asp?BoardID=2&ID=7622&replyID=38045&skin=1 一:证书权威机构以及证书的选择策略 1:确定目标手机是否实现了第三方信任域,是否支持证书权威机构的证书。 多数Moto的手机不支持证书权威机构的证书,不支持Java Verified的认证。我个人只能确定大部分诺基 亚和索爱的手机是支持的。 2:确定目标手机安装了该证书权威机构的根证书。 因为验证的过程需要从JAD属性包含的证书路径追溯到安装在手机上根证书,所以在选择证书权威机构之 前,必须确认目标手机上安装了该机构的根证书。一般认为最通用的是Verisign,其次是Thawte。 3:向选定的证书权威机构申请正确的证书。 这些机构一般提供多种的安全证书,必须选择正确的证书。对于Midlet,应该选择java code signing证 书。 4:关于价格。 据我个人了解,Verisign的一年有效期的证书是400$,Thawte是199$,我们最后选择的是Thawte的。 二:相关keytool 命令简介 1:生成公用/私用密钥 keytool -genkey 2:生成CSR(certificate signing Request) keytool -certreq 3:导入证书 keytool -import 三:wtk签署的步骤说明 1:打开工程执行build和package 2:菜单project-》Sign-》import keypair,选择用keytool导入了证书的keystore 3:sign midlet suite 四:向证书权威机构申请购买证书的流程。 1:用keytool生成CSR 2:登录Thawte的网站。 3:注册购买java code signing证书,按照提示流程填写相关信息,其中包含CSR。 4:提供公司注册证明和公司电话号码的证明,等待对方验证。 5:完成相关证明的验证后,Thawte会把证书放在网页上,下载得到签署者证书。 [参考4] 用自制证书签署Midlet
作者 dingjf7516 抱歉,前面关于购买证书的流程,忘记了最重要的一步,付款。不给钱是不行的哟。:) 一:自制证书签署是否可行? 1:无论David Hayes还是诺基亚论坛的网友random john doe,都需要把自制的根证书安装到手机上。所 以用自制证书签署Midlet的前提是手机支持某种方法可以让用户安装证书到第三方信任域。而具有这种功 能的手机并不多。 2:JSR118-MIDP2.0规范规定,“Third party Protection Domain Root Certificates downloaded after device manufacture MUST NOT be used for
authentication of MIDlet suites.”也就是后安装的证书是不可以用来验证Midlet的证书和数字签名的 。 所以,如果在S60上可以用自制证书将安装到第三方信任域的话,说明该手机的安全机制的实现是不符合 规范的,可能带来安全问题。 3:我个人没有验证过自制证书签署Midlet,所以只是对David Hayes和John Doe如何做给出一个介绍。 二:David Hayes的方法 1:keytool生成公用/私用密钥。 2:keytool -export导出自制根证书。 3:安装根证书到手机。 4:build并packageMidlet 5:jarsigner修改jar。 6:jadtool加入证书。 7:jadtool加入数字签名。 三:John Doe的方法 1:keytool生成公用/私用密钥。 2:keytool -selfcert生成自制的根证书。 3:keytool -export 导出根证书。 4:安装根证书到手机。 5:build并packageMidlet 6:用WTK签署Midlet,加入证书和数字签名。 比较两个人的做法,David Hayes没有keytool -selfcert自制证书的步骤,而多了jarsigner把签名写入 jar的步骤。相比较之下,John Doe的做法可能更正确一些。 在John Doe的帖子中,schnejan表示6600的版本必须是4.09.1或以后,daniele.pinto表示Midlet不能用 到precompile library。 不过手机的中文版和英文版也可能是不同的,需要大家自己去验证。:)