科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件J2ME MIDlet(MIDP 2.0)代码签名证书申请和使用指南(4)

J2ME MIDlet(MIDP 2.0)代码签名证书申请和使用指南(4)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

VeriSign和Thawte的Java代码签名证书可以用于数字签名运行J2ME MIDlet(MIDP 2.0)代码,支持目前市面上流行的各种基于Java的手机多媒体和交互应用,运行签名后的MIDlet Suite就不会弹出烦人的警告框了!

作者:佚名 来源: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领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章