扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:佚名 来源:WoTrust 2007年9月1日
关键字:
第6步:常见问题解答
如果您使用签名工具,一般都是没有问题,请检查JAD文件是否含有MIDlet-Certificate-1-1、MIDlet-Certificate-1-2、MIDlet-Certificate-1-3属性和MIDlet-Jar-RSA-SHA1属性。问题往往出在部署过程,主要常见问题有:
1.不能验证证书
签名成功后仿真时出现如下图12所示警告信息:
图12 |
显示“System does not recognize who is trying to authorize the application”,意思是无法验证证书颁发机构。主要有2个原因:
(1)证书导入问题:您申请证书时会生成私钥和CSR(证书请求文件),在颁发证书给您之前,一定不能删除NDS 3.0或WTK 2.5等签名工具,也不要再动证书管理,不要再使用自签证书做实验等。而取到证书后,必须在生成CSR的同一台电脑上的同一签名工具中导入证书,否则证书不能导入成功;
(2)使用的签名证书的根证书没有预置在手机中(包括自签证书),请一定要购买Thawte或VeriSign的Java代码签名证书,其他CA颁发的证书都不支持。
2.JAR文件已经被修改
如下图13所示,显示如下警告信息:
图13 |
“The signature of the JAR is invalid”意思是JAR文件签名无效。主要有2个原因:
(1)签名MIDlet后修改了JAR文件:也许您发现签名时签名工具读取JAD文件,而不是JAR文件,这样会误以为签名时是签的是JAD文件,而与JAR文件无关。其实,签名时会计算出JAR文件的SHA-1摘要,并把此摘要写在JAD文件中。如果您修改了JAR文件,则其SHA-1摘要就变了,MIDlet在验证时就会出错。所以,您签名MIDlet后,一定不能再修改JAR文件,如果要修改,则需要重新签名;
(2)JAR文件在网络传输或下载过程中被篡改,可能是下载的原因,也有可能是被其他人非法故意篡改。哪怕是一个字节的修改,也不能通过验证。这就是签名的基本功能之一。
3.许可不匹配
如果MIDlet中的许可属性(MIDlet-Permissions)中有一个或多个不属于所属的保护域,则仍然不允许安装。而如果MIDlet中的可选许可属性(MIDlet-Permissions-Opt)中有一个或多个不属于所属的保护域,会允许安装。
如下图14所示,如果我们修改http许可为:javax.microedtion.io.Connector.htt,则会显示如下警告信息:
图14 |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者