2009-06-20 20 views
3

某些电话只在首次建立连接时提示用户许可。其他人在MIDlet尝试建立HTTP连接时弹出权限提示!如果我们想抑制提示,有什么选择?J2ME的额外恼人的HTTP权限提示

我们是否可以仅使用一个CA(证书颁发机构)来签署JAR并使其可用于所有设备?我们是否需要为每个版本的签名付费?

是否可以创建我们自己的CA证书并告诉我们的客户将其安装在设备上?

另外,似乎普通的套接字连接不会如此。在J2ME的TCP之上是否有免费的HTTP实现?

+0

页面“[Java ME签署傻瓜](http://wiki.forum.nokia.com/index.php/Java_ME_signing_for_dummies)“可能会有所帮助。 – 2010-05-30 18:28:00

回答

0

要禁止HTTP连接提示,请仅对应用程序进行签名。另一种方法是在售前电话上预先加载,但即使是手机制造商也需要签名的jad/jar。

在不同的设备上制作一套jad/jar工作不依赖于签名,而是如何设计应用程序。如果您可以解决这个问题,那么可以,您可以在多个设备上安装一个已签名的jad/jar工作。

我不知道如何创建我们自己的证书并要求客户安装它们。我不认为这是有效的,因为我不认为这是可能的。

HTTP over TCP是一个相当简单的实现,只要你知道你在做什么,但我不知道它的任何自由实现。

4

有些手机可让您手动更改设置以在每个会话中设置一次。或尝试加入

MIDlet-Permissions: javax.microedition.io.connector.http

到jad文件。

是,如果构建与根证书上可用的大多数设备,威瑞信签署级证书3,例如

作为一种安全措施,设备不允许用户安装自己的证书,即使它是从CA获得的。

普通套接字连接可能会增加处理客户端数据的开销。还涉及一些安全问题。

+0

感谢您的建议。我尝试了许可,没有运气。也许有一天iPhone的市场份额将超过5%,我们不必担心这个J2ME废话了。 – 2009-06-22 18:31:21

1

签名JAR并不能保证在所有手持设备和所有网络上禁止这些提示。它可能对一些工作。 AFAIK你通常需要签署每个版本;所以如果你在许多手机上使用相同的版本,你只需要签署一次。

你可以在套接字上编写自己的HTTP实现,但要注意Socket实现不允许访问端口80和8080(再次AFAIK)。

当遇到HTTP的多个提示时,您的最佳选择是将用户指向其手机菜单中的MIDlet权限设置;这应该改成“请问一次”。

HTH, funkybro

0

得到它的Java认证,你会发现,在所有网络和电话 - 用户将收到提示每次只能一旦他们开始应用授权的连接。

1

的Java Verifieds UTI根证书是不是所有的手机/网络组合,同样是在受信任的第三方如Verisign和Thawte其他领域真正的(特别是对于摩托罗拉设备这些机构)

这是公平地说,UTI证书可能是选择给你的手机上最多的覆盖范围