用于移动设备(尤其是移动设备)的 J2ME 和(开源)小程序签名电话) - 我能做什么?

StackOverflow https://stackoverflow.com/questions/417895

我刚刚发现 J2ME,并且喜欢它所提供的可能性。我目前正在开发一个简单的应用程序,我希望将来某个时候将其作为开源项目发布。

作为 J2ME 和移动设备研究的一部分,我研究了小程序签名。似乎那些想要免费创建小程序的人被夹在了摇滚和可怕的狗屎之间。Applet 签名非常昂贵且极其复杂 - 而且当免费编码时,这笔费用是不合理的。

那里有大量的 J2ME 兼容设备 - 我认为必须忽略它们并耐心等待下一波(例如安卓)。

我想知道其他人是否对解决这个问题有什么想法?

更新:我发现这篇博客文章为那些感兴趣的人总结了这个问题...... http://javablog.co.uk/2007/08/09/how-midlet-signing-is-killing-j2me/

我考虑过为需要 VeriSign 证书的开源 J2ME 开发人员建立一个非盈利伞式组织(因为证书可以无限次地签署代码)。我的目标是筹集 500 美元,然后让小组成员分享购买的证书。与 VeriSign 代表进行了快速交谈,他们认为这个想法可行(只要该组织注册为法人实体)。

然而,由于手机制造商现在似乎正在转向支持 仅有的 UTI 根证书(您只能通过“Java 验证”计划获得)- 这可能没有我想象的那么有用......如果有人有任何想法,很高兴听到他们的想法。

有帮助吗?

解决方案

我担心你正在打一场你无法获胜的战斗。使用受限制的API变得越来越难,这不是偶然的。正如您在博客文章中看到的那样,您提到的最大问题是网络运营商。即使您从Verisign或Thawte购买证书(这样便宜),您的应用程序也不会在网络运营商品牌手机中运行,因为它们有自己的CA规则。

首先,开发人员可以安装他/她自己的证书,但即使这样也不可能。这种严格的规则是由手机制造商(例如诺基亚)强制规定的,适用于所有手机(甚至没有品牌手机)。我认为这也不是偶然的,主要是因为网络运营商向设备制造商施压。

最后,虽然 MIDP 3.0 已经宣布多年,什么都没有真正摆脱它。似乎即使Sun认为J2ME仅适用于游戏。

所有这些都已经在J2ME论坛中广泛讨论了很长时间。普遍的共识是,网络运营商不希望市场上的每部手机都可以作为智能手机运行,并且能够运行第三方应用程序。然后,每个人都可以很容易地使用更便宜,基于Web的替代方案而不是SMS消息传递作为示例。这可能听起来像是一个阴谋理论,如果你是J2ME世界的新手,但请记住,网络运营商销售的手机有自己的固件,甚至可以锁定基本功能(例如通过蓝牙传输照片或使用MP3作为铃声)来强制所有者使用付费服务!

我不知道智能手机(iPhone,Android,Windows Mobile)的势头是否会有所改变。请记住,限制也适用于这些平台(特别是Symbian,这对开源也非常不友好)。

其他提示

  • 您可以创建自我签名的签名证书。您的用户必须愿意信任您。
  • 您可以指示用户如何创建证书并使用它自我签名。然后,用户必须能够信任自己。
  • 或多或少有一些开放的CA;您必须愿意信任他们,并说服您的用户信任他们。

Java 教程中有一个关于签名小程序的部分 这将引导您完成这些步骤。

我是J2ME应用程序开发人员,我完全赞同你的帖子。签署MIDlet的成本对于开源计划而言是无法承受的,除非您正在开发简单的游戏,否则您很快或稍后将使用受限制的API来访问套接字或位置API,只是为了命名其中两个。这是非常令人沮丧的,如果你认为权限政策并不总是在各种设备上相同,事情就会变得更糟:在某些手机上,你可以告诉操作系统信任entyre MIDlet并且从不打扰你,其他继续每次要求限制方法时都要求您许可。这很悲惨! 我重新感谢您的建议,我认为这对JavaME开发人员来说是一项了不起的成就。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top