`
shappy1978
  • 浏览: 702912 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

J2ME签名备忘

    博客分类:
  • J2ME
阅读更多

    今天拿到VeriSign的签名,使用过程中碰到几个问题

1 备份和导入签名数据,密钥备份就是保存C:\Documents and Settings\登陆用户\j2mewtk\2.5.2\appdb目录下的keystore.ks,还原同样也是很简单,覆盖掉这个文件即可,而不是在签署工具中导入,这是我一开始就误解的,弄了老半天,大概文档的作者以为这是很明白的道理,不屑于说吧。

2 签名的步骤很重要,一开始我直接签eclipse项目下的jad,提示没有对应的jar文件,于是签到.eclipseme.tmp\emulation下的打包文件,再把jad覆盖回来项目,这样打包的程序在安装后提示“证书错误,请与程序提供商联系”。正确的方法是打包(混淆)后直接给打包好的jad签名,项目有修改的话发布时都需要重新签名。

3 签了名和未签名的Midlet有很大的不同,不是签了名就有所有权限的,而是需要在MIDlet-Permissions写明你有的权限,否则签名之后你连提示都没有,直接就不给你调用,这个好像也是没有在书或者教程上提到的。要了解需要授权的Midlet权限可以打开Wireless toolkit,打开一个项目,选择设置按钮,选择“权限”,点填加。

 

为了简化用户管理操作, MIDlet 把一些类似功能分组,这样,用户只需对功能组设置许可即可。如:
许可 “Net Access”( 网络访问 ) 组来代替许可 javax.microedition.io.Connector.http ,这对于简化
手机的交互操作非常有用。 

MIDP 2.0 和 JTWI 定义了如下 7 个功能组: 

(1) Net Access: 包括所有网络连接许可; 

(2) Messaging: 包括所有与发送和接收短消息 ( 短信和彩信 等 ) 相关的许可; 

(3) Auto Invocation : 包括与自动启动 MIDlet 相关的许可,如: Push Registration 

(4) Local Connectivity : 包括与本地连接相关的许可,如: IrDA 或 蓝牙; 

(5) Multimedia Recording : 包括与允许录音、照相、摄像等相关的许可; 

(6) Read User Data : 包括读取用户数据相关的许可,如:通讯录、日程表等; 

(7) Write User Data : 包括写用户数据相关的许可。 

  untrusted 的 MIDlets 只能调用一个不需要许可保护的 API ,如:

java.util 
java.lang 
java.io 
javax.microedition.rms 
javax.microedition.midlet 
javax.microedition.lcdui 
javax.microedition.lcdui.game 
javax.microedition.media 
javax.microedition.media.control 
 

4 VeriSign申请中使用的公司名称必须是英文名,而Thawte可是使用中文名,不知道卖签名的公司会不会因为怕麻烦忽悠我,不过安装时显示的公司名是在jad中填写的,这似乎没有太大的影响。

 

引用:MIDP2.0安全机制与MIDlet数字签名

 

关于签名的效果(就不开另外的帖子了):

1 Nokia S60的机子上不签名无法使用https协议,签名后才可以,其他手机上未发现这个情况,测试的S40手机无法支持Https协议,而且本身不支持个人证书导入。(未签名前会崩溃报空指针错,签名后可以,但如果地址写错也会报空指针,注意到S60的符号键盘里面就有两个冒号,一个是全角的--c它大爷的,浪费我好多时间)

2 (据说只有部分)S60机上不用签名就可以获得串号,S40则需要签名,而且部分s40的机器签名也不能获取串号,mobile签了名也无法获取串号。

3 S60上签名对sms-push和写文件都有效,而mobile测试结果对sms-push无效,奇怪的是安装的时候如果以前版本不删除会提示资源被占用(就是sm port),无法安装。

4 在se610c上测试发现签名的包无法安装,询问销售商的结果是部分手机不支持java签名证书,只支持server签名证书,也就是说购买的签名在这些手机上无法安装,会报告“安装错误”

分享到:
评论

相关推荐

    J2ME手机备忘录源代码

    在J2ME备忘录应用中: 1. **模型(Model)**:负责处理数据和业务逻辑。在这个案例中,模型可能包括对RMS(Record Management System)的访问,用于存储备忘录内容和元数据,如创建日期、修改日期等。 2. **视图...

    基于J2me的手机备忘录源码

    【基于J2ME的手机备忘录源码】是一个典型的移动应用开发项目,它使用Java Micro Edition (J2ME) 技术实现了一个简单的备忘录功能。J2ME是Java平台的一个子集,用于开发在资源有限的设备上运行的应用程序,如早期的...

    J2ME中实现备忘录的增删改查

    本程序实现了在J2ME中的备忘录的增加记录、删除记录、修改记录以及查询记录的功能。

    j2me RMS记录管理系统 备忘录

    在本文中,我们将深入探讨基于J2ME的RMS(Record Management System)记录管理系统,特别关注如何在S60及更高版本的移动设备上实现一个备忘录应用。这个系统对于初学者来说是一个很好的学习资源,因为它展示了如何...

    J2ME开发 J2ME开发 J2ME开发

    J2ME,全称Java 2 Micro Edition,是Java平台的一个子集,主要用于嵌入式设备和移动设备的开发,如手机、智能电表、家庭自动化设备等。它提供了跨平台的开发环境,使得开发者可以编写一次代码,到处运行。J2ME由两大...

    j2me数字签名入门文档(欢迎交流)

    j2me数字签名入门文档(欢迎交流)

    J2ME API 2.0 J2ME使用手册 J2ME帮助文档

    - **证书签名**:应用通常需要被合法签名才能在设备上安装和运行,签名过程验证开发者身份并确保代码完整性。 8. **性能优化** - **代码尺寸优化**:由于资源有限,J2ME开发者需要关注代码的大小和效率,利用...

    j2me_plane.rar_j2me_j2me 飞机_j2me 飞机 游戏_飞机游戏

    《J2ME飞机游戏开发详解》 J2ME(Java 2 Micro Edition)是Java平台的一个子集,专为移动设备、嵌入式系统等资源有限的环境设计。本篇文章将深入探讨如何利用J2ME技术开发一款简单的飞机游戏,以此帮助初学者理解...

    J2ME_Map.rar_J2ME 地图_J2ME游戏_j2me 游戏_j2me_m_绘制地图

    在J2ME(Java 2 Micro Edition)平台上开发游戏时,地图的设计与绘制是至关重要的一个环节。J2ME作为一种轻量级的Java平台,广泛应用于移动设备,如早期的智能手机和平板电脑,用于实现各种应用程序,特别是游戏。本...

    j2me例子大全,涵盖j2me的各各方面

    10. **应用发布与签名**:J2ME应用发布前需要进行数字签名,以确保安全性和防止恶意篡改。开发者需要了解如何获取并使用数字证书进行应用签名。 通过"j2me例子大全"中的各种示例,开发者可以深入学习J2ME的各个方面...

    J2ME中文版教程 J2ME教程

    **J2ME中文版教程——全面解读移动设备编程** J2ME(Java 2 Micro Edition)是Java平台的一个重要组成部分,专为嵌入式设备、移动电话和其他资源有限的设备设计。这个J2ME中文版教程是针对初学者和有一定经验的...

    J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏下,上为另一部分

    J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏

    j2me开发框架介绍

    j2me 开发框架介绍 j2me 是一种用于开发无线应用程序的平台,它提供了一个灵活、强大和开放的开发环境。随着 j2me 的普及,出现了许多开源框架,旨在简化开发过程,提高开发效率。下面将介绍这些框架,並分析它们的...

    J2ME小游戏J2ME小游戏J2ME小游戏上,下为另一部分

    J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏

    J2ME教材:J2ME&Gaming中文版

    **J2ME教材:J2ME&Gaming中文版** J2ME,全称为Java 2 Micro Edition,是Java平台的一个子集,主要用于嵌入式设备和移动设备,如手机、智能手表等。这个“J2ME&Gaming中文版”教材主要针对的是Java在游戏开发领域的...

    j2me手机浏览器/j2me手机浏览器

    Java 2 Micro Edition (J2ME) 是一种Java平台,专为嵌入式设备和移动设备,特别是手机设计。在2000年代初期,J2ME是许多非智能手机上实现互联网浏览的主要技术,其中“j2me手机浏览器”就是这样一个应用。这个应用...

    j2me游戏.rar

    Java 2 Micro Edition(J2ME)是一种针对嵌入式设备和移动设备的Java平台,主要用于开发手机游戏、应用程序和服务。"j2me游戏.rar"很可能是包含了一系列使用J2ME技术开发的游戏资源包。在本文中,我们将深入探讨J2ME...

Global site tag (gtag.js) - Google Analytics