J2me自签名详细教程
### J2me自签名详细教程 #### 一、适用情况 在J2ME开发中,MIDlet应用程序可能会因为没有经过认证而导致运行时出现“请求用户授权”的提示。这种现象通常发生在非受信任的MIDlet(Untrusted MIDlet)上,即那些没有通过权威认证机构签署的应用程序。当这类应用程序尝试访问系统的敏感API时,出于安全考虑,手机系统会弹出对话框让用户手动确认权限。 为了避免这个问题,开发者通常可以选择两种途径:一是购买权威认证机构的证书进行签名,使程序成为受信任的MIDlet(Trusted MIDlet);二是在特定情况下采取自签名的方式。虽然第一种方法能够确保应用程序的安全性和兼容性,但对于非商业性质或个人使用的MIDlet而言,购买证书的成本较高,此时自签名便成为一个经济实惠的选择。 #### 二、使用限制 需要注意的是,并非所有的手机都支持自签名。特别是对于诺基亚Serial系列手机,早期的Serial40和现在的S60第三版均不支持自签名。因此,在决定使用自签名方法前,必须先确认目标手机是否支持该功能。 #### 三、实用步骤 下面是详细的自签名步骤,这些步骤已经在诺基亚N70上进行了测试,该型号手机属于S60第二版。由于不同的设备可能存在差异,这里提供的步骤可能不具备普遍适用性,但在大多数情况下可以作为参考。 ##### 3.1 预先准备 实施自签名之前,需要准备以下几个工具: 1. **IDE工具**:一个好的集成开发环境能够提高开发效率。虽然本教程采用命令行方式进行演示,但大多数现代IDE如Eclipse、IntelliJ IDEA等都已经集成了必要的功能。如果使用Eclipse+Carbide.j,可以更加方便地进行操作。 2. **KeyTool工具**:KeyTool是Java开发工具包(JDK)自带的一个用于管理密钥和证书的工具。它位于JDK安装路径下的`bin`目录中,用于创建密钥对和自签名证书。 3. **JadTool工具**:JadTool是J2ME SDK的一部分,用于对MIDlet套件进行签名。如果你已经安装了Wireless Toolkit (WTK),那么`JadTool.jar`文件应该位于WTK安装目录下的相应位置。 ##### 3.2 创建安装文件 创建MIDlet套件的安装文件(`.jar`文件)是自签名的第一步。在创建文件时,需要明确应用程序需要哪些权限。可以通过两种方式声明权限: 1. **通过Carbide.j进行权限声明**:在Eclipse+Carbide.j环境下,可以直接在项目属性中配置所需的权限。 2. **通过WTK进行权限声明**:如果是使用WTK,可以在项目的配置文件中添加权限声明。 ##### 3.3 创建并导出证书 接下来,使用KeyTool创建密钥对,并从该密钥对中导出自签名证书。 1. **创建密钥**:使用KeyTool创建一个新的密钥对,包括私钥和公钥。这个过程需要输入密钥的别名、密码以及一些个人信息(如姓名、组织名称等)。 2. **导出证书**:从密钥对中导出自签名证书。这一步骤同样通过KeyTool完成。 ##### 3.4 对MIDlet套件签名 有了密钥和证书后,可以使用JadTool对MIDlet套件进行签名。 1. **添加证书信息到JAD文件**:首先需要编辑`.jad`文件,将证书的相关信息添加进去。 2. **添加签名信息到JAD文件**:接着使用JadTool添加签名信息。这一步骤通常涉及指定密钥库文件、密钥别名、密钥密码等信息。 ##### 3.5 安装到目标手机 最后一步是将签名后的MIDlet安装到目标手机上。 1. **安装自签名证书**:首先需要在手机上安装自签名证书。可以通过蓝牙传输或者通过USB数据线传输证书文件至手机,并在手机端进行安装。 2. **核实证书安装情况**:安装完成后,检查证书是否正确安装,并确认证书的有效性。 3. **安装已签名MIDlet套件**:使用标准的安装方法安装已签名的MIDlet套件。 4. **程序设置**:根据需要调整程序的设置,比如语言偏好、显示选项等。 5. **已签名与未签名套件之比较**:安装并运行已签名的MIDlet套件,观察其行为与未签名版本有何不同。 #### 四、其它签名方法 除了上述步骤外,还可以使用其他工具进行签名。例如: 1. **使用Carbide.j签名**:Carbide.j是一款专为J2ME开发设计的IDE插件,内置了一些签名功能。通过该插件可以直接进行签名操作,而无需使用命令行工具。 2. **使用WTK签名**:WTK本身也提供了一些签名工具,可以用来完成签名过程。 自签名是一种有效的解决J2ME应用程序权限问题的方法,尤其适用于那些不需要官方证书的非商业项目。通过遵循上述步骤,你可以有效地为自己的MIDlet程序进行自签名,从而避免不必要的用户授权提示。
- e086201272012-11-24很好 写的很详细。谢谢分享
- 粉丝: 1
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 高效会议管理技巧.doc
- 管理经济学(MBA全景教程之二).doc
- 公司理论与实务(MBA全景教程之五).doc
- 共赢领导力--提升领导力5种技术.doc
- 顾问式销售技术.doc
- 管理流程设计与管理流程再造.doc
- 管理信息系统(MBA全景教程之十).doc
- 管理学(MBA全景教程之四).doc
- 海尔模式.doc
- 培育核心竞争力的成功模式.doc
- 六西格玛在中国企业的实施—质量与流程能力的双重提升.doc
- 企业供应链物流管理—海尔、沃尔玛成功模式.doc
- 企业采购与供应商管理七大实战技能.doc
- 企业发展战略设计与实施要务.doc
- 企业核心竞争力的培育方法与误区分析.doc
- 企业国际化经营(MBA全景教程之七).doc