动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > J2EE/J2ME教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ J2EE/J2ME教程 ]的信息

本月文章推荐
.Tomcat配置技巧精华详解.
.使用Filter封装一个请求.
.配置Eclipse进行远程调试.
.关于手机的IMEI号问题的一些总结.
.EnterpriseJavaBeansDistilled....
.J2EE实战留言本(升级应用篇).
.如何写自己的Type3JDBC驱动.
.Java中关于XML的API一瞥.
.jBPM取得Token和流程目前Token所.
.详细讲解基于J2EE实现Web方式软交.
.JBoss中服务器的类型.
.jBPM在流程中间增加变量.
.基于MIDP实现ResourceBundle类.
.Spring 系列:进入 Spring MVC.
.Spring Framework中的面向方面编.
.使用 MIDP 底层用户接口 API.
.用J2ME实现简单电子邮件发送功能.
.开源组织发布J2EE网上书店示例应.
.用Ant发布应用程序到OC4J.
.JSP环境基于Session的在线用户统.

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

发表日期:2007-12-23 |


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

以下MIDlet签名指南根据Sun网站和VeriSign/Thawte网站上的文章(网页)整理,请同时参考原文:
    (1) What's New in the J2ME Wireless Toolkit 2.0
    (2) Understanding MIDP 2.0's Security Architecture
    (3) Java ME - Micro App Development Made Easy
    (4) Nokia MIDlet(MIDP 2.0)代码签名证书申请和使用指南

本签名指南是基于 Sun Java Wireless Toolkit 2.2 和 2.5 Beta的 使用指南 编写,如果您还没有此开发工具可以到Nokia网站上 下载 合适的开发工具(推荐下载最新的2.5 Beta,因为2.2版本的仿真OTA运行有问题Bug,签名后不显示已经签名的签名信息)。

同时,请一定要先参考: MIDP 2.0安全机制,充分理解MIDP 2.0的安全机制有助于签名MIDlet的成功部署。

第1步 创建Keystore和私钥 Step 1. Create a Keystore and Key Pair:

如图1所示,打开开发工具包中的KToolbar, 点击“打开项目”,再在主菜单“项目”中选择“签署”,如图2所示,如果您已经有了Java代码签名证书的密钥对(.sks文件),则您可以点击“导入密钥对”导入您的证书密钥对,导入时需要输入您的私钥密码。如果您还没有申请证书,则您可以点击“新建密钥对”来生成密钥对(Keystore和私钥),正确填写证书信息后点击“创建”即可。
但请注意以下3点:
(1) 填写国家(Country)字段时只能填写国家名称缩写CN;
(2) 在生成密钥对时并没有提示输入私钥密码,但导入时需要输入私钥密码,缺省密码为“passWord”;
(3) VeriSign代码签名证书不支持中文,请填写正确的英文名称,而Thawte代码签名证书支持中文,您可以根据需要在单位名称、部门名称、所在城市和省份等填写中文名称。

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

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

这样就生成了密钥对,如图3所示,点击别名“wotrustj”就可以显示证书信息,请注意:此时显示的证书颁发者(Issuer)为自己,因为还没有提交CSR申请证书。

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

第2步 生成证书请求文件(CSR) Step 2. Generate the CSR and request your certificate:

如图4所示,选中证书别名后,再点击“Generate CSR”生成CSR文件:wotrustcs.csr,并把此文件发给WoTrust,等待1-2个工作日就可颁发证书。

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

第3步 把证书导入到 keystore中 Step 3. Import the certificate reply into your keystore:

一旦您的Java代码签名证书颁发,VeriSign的证书则附在颁发通知邮件的下面,直接完整复制(包括: -----BEGIN CERTIFICATE----- 和 -----END CERTIFICATE-----),并粘贴到记事本本上保存为mycert.cer文件即可。Thawte的证书则需要到Thawte网站上去下载,注意选择 PKCS #7 格式,此证书格式含有您的证书和根证书链,Keytool要求此格式证书。把此证书使用文本编辑器保存为mycert.cer。再点击“导入证书”导入您的证书,如图5所示,一旦导入成功,您会看到此证书的颁发者(Issuer)就是“Thawte Code Signing CA”了。您也可以在“文件”-“工具集”-“管理证书”-“导入证书”即可。您可以看到在J2ME证书管理器中含有Thawte所有根证书。现在,请您马上备份您的证书对(私钥和公钥)keystore文件:keystore.sks,最好是备份到光盘或其他电脑上,以便以后导入证书用!一般在开发工具的安装目录下,如:C:\WTK22\appdb 。


请注意: 在导入证书的时候,请选择安全保护域:trusted third party(可信任的第三方)。

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

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

第4步 签名MIDlet Step 4.Sign your MIDlet:

您需要Nokia的开发工具(NDS)来签名代码和配置您的应用了,如图7所示,先选中您的证书别名,再点击“签署MIDlet套件”就马上完成签名,提示“已签名的MIDlet套件”。

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

现在,.jad 就已经包含了您的私钥签名和公钥证书,您可以使用记事本打开JAD文件,会看到已经增加了许多字母,如图8所示,仔细查看就可以看到 MIDlet-Certificate-1-1:后面就是您的签名证书,而 MIDlet-Certificate-1-2:后面就是签名证书 Thawte Code Signg CA, MIDlet-Certificate-1-3:后面就是颁发证书的顶级证书 Thawte Premium Server CA,而 MIDlet-Jar-RAS-SHA1:后面就是使用您的私钥签名JAD代码后的签名摘要。

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

第5步 仿真运行和部署已经签名的MIDlet Step 5. Emulate and Deploy your MIDlet:

这样,就完成了MIDlet代码的签名,可以正常使用了。建议您先点击“运行”仿真运行应用软件,如图9所示,会显示一些运行信息,同时系统会启动仿真器运行。如果仿真测试没有问题就可以上传到服务器上。

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

建议同时做OTA仿真运行,点击“项目”-“通过OTA运行”就可以仿真下载安装过程,会提示“Are you sure you want to install...?(您确定要安装此MIDlet吗?)”,接着显示详细的MIDlet信息,同时会显示签名证书的颁发机构(CA)的详细信息,如下图10所示:

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

我们来对比一下如果没有签名安装MIDlet的提示情况,如下图11所示,同样会提示您是否确认要安装此MIDlet,同时会在“Advanced(高级)”中显示“Unindentified Third Party(代码开发商身份不能确认)”,强烈建议用户不要安装没有签名的MIDlet,否则一旦安装了恶意代码,您的手机可能就报废了!

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

第6步 常见问题解答

    如果您使用签名工具,一般都是没有问题,请检查 JAD 文件是否含有 MIDlet-Certificate-1-1 、 MIDlet-Certificate-1-2 、 MIDlet-Certificate-1-3 属性和 MIDlet-Jar-RSA-SHA1 属性。问题往往出在部署过程,主要常见问题有:

1. 不能验证证书

    签名成功后仿真时出现如下图11所示警告信息:

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

    显示“ 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 文件已经被修改

    如下图12所示,显示如下警告信息:

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

    “ 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 ) 中有一个或多个不属于所属的保护 域,会允许安装。

    如下图13所示,如果我们修改 http 许可为: javax.microedtion.io.Connector.htt ,则会 显示如下警告信息:

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

(出处:http://www.knowsky.com)


上一篇:J2ME游戏开发技巧(1) 人气:488
下一篇:J2ME游戏开发之用setClip分割图片 人气:569
浏览全部J2EE/J2ME的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-12-1 MyBB v1.4.4 简体中文版 bulid 2
2008-12-1 新云网站内容管理系统 v4.0.0.11
2008-12-1 网趣网上购物系统时尚版 v8.8
2008-12-1 Textpattern v4.0.7 多国语言版
2008-12-1 Piwik ( PHP统计系统,可以和GOOG
2008-12-1 天空网络电影系统SKYUC! v2.6.2
2008-12-1 SiteDynamic企业网站管理系统 v1
2008-12-1 KindEditor HTML在线编辑器 v3.0
2008-12-1 0451sky高校教务管理系统2008 v4
2008-11-29 Tencent Traveler 4.4
2008-11-29 龙卷风网络收音机 v3.0.0.0
2008-11-29 Intel Chipset Software Install
2008-11-29 TweakVI 1.0 Build 1100
2008-11-29 Opera 9.62 Build 10469
2008-11-29 MPlayer WW编译版 SVN-r28044(20
2008-11-29 NetTools网络工具v1.0.0破解版
2008-11-29 3DGallery三维体验1.1破解版
2008-11-29 SecretBook保密本v1.0破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | OPEN参数生成器 | 弹出式窗口代码产生器 | 密码登录生成器 | 在线按钮生成器 | Meta标签生成器 | 多色彩特效字代码生成器 | 网页代码调试器 | 在线FTP登陆 | Flash取色器 | 配色代码对照表 | 配色辞典 | CSS生成器 | 广告代码 | 框架网页代码生成器 | js/vbs加密 | md5加密 | 进制转换 | UTF-8 转换工具 | 在线调色板 | Html转换js | Html转换asp | Html转换php | Html转换perl
实用工具:汉字翻译拼音 | 拼音字典 | 符号对照表 | 个税计算 | 实时汇率查询换算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 | 国家代码与域名缩写 | 文字加密解密 | 元素周期表 | 健康查询 | 世界时间 | 万年历 | 二十四节气 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2009 www.knowsky.com All rights reserved | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵
SEO対策 中国語教室 ホームページ作成