3

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

作为我研究 J2ME 和移动设备的一部分,我研究了小程序签名。似乎想要免费创建小程序的人被夹在摇滚和一个糟糕的地方之间。Applet 签名极其昂贵且极其复杂——而且在免费编码时,这笔费用是不合理的。

那里有大量的 J2ME 兼容设备——我认为不得不忽略它们是一种耻辱,只是耐心地等待下一波浪潮(例如 Android)。

我想知道其他人是否对解决此问题的方法有任何想法?

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

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

但是,由于手机制造商现在似乎支持UTI 根证书(您只能通过“Java 验证”程序获得)——这可能不像我想象的那么有用……如果有人有的话听到他们的想法会很棒。

4

3 回答 3

3

恐怕你在打一场你打不赢的仗。使用受限 API 变得越来越难,这并非偶然。正如您在博客条目中所读到的,您提到最大的问题是网络运营商。即使您从 Verisign 或 Thawte 购买证书(顺便说一句更便宜),您的应用程序也不会在网络运营商品牌的手机中运行,因为它们有自己的 CA 规则。

起初,开发人员可以安装他/她自己的证书,但即使这样现在也是不可能的。这条严格的规则是手机制造商(例如诺基亚)强制执行的,适用于所有手机(甚至没有品牌手机)。我相信这也不是偶然的,主要是网络运营商给设备制造商施加的压力。

最后,虽然MIDP 3.0已经发布多年,但并没有真正产生什么结果。似乎连 Sun 都认为 J2ME 只适用于游戏。

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

我不知道这是否会随着智能手机(iPhone、Android、Windows Mobile)的发展势头而改变。请记住,限制也适用于这些平台(尤其是 Symbian,它对开源也非常不友好)。

于 2009-01-12T13:58:13.483 回答
1
  • 您可以创建自签名的签名证书。您的用户必须愿意信任您。
  • 您可以指导您的用户如何创建证书并使用它进行自签名。然后用户必须能够信任自己。
  • 或多或少有开放的 CA;您必须愿意信任他们并说服您的用户信任他们。

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

于 2009-01-06T20:11:51.180 回答
1

我是一名 J2ME 应用程序开发人员,我完全同意您的帖子。签署 MIDlet 的成本对于开源计划来说简直是无法承受的,除非您正在开发简单的游戏,否则您迟早会使用受限 API 来访问套接字或 Location API,仅举其中两个。这是非常令人沮丧的,如果您认为权限策略在各种设备上并不总是受到相同的威胁,那么事情会变得更糟:在某些手机上,您可以告诉操作系统信任整个 MIDlet 并且从不打扰您,其他继续每次您要求使用受限方法时都征求您的同意。太悲剧了!非常感谢您的提议,我认为这对 JavaME 开发人员来说将是一项伟大的成就。

于 2009-01-09T17:07:01.997 回答