J2ME额外烦人的HTTP权限提示

时间:2009-06-20 20:50:09

标签: http java-me midp midlet

有些手机仅在第一次建立连接时提示用户进行许可。当MIDlet尝试建立HTTP连接时,其他人会弹出权限提示!如果我们想要抑制提示,有哪些选项?

我们是否可以仅使用一个CA(证书颁发机构)对JAR进行签名,并使其适用于所有设备?我们是否必须在每次发布时支付签名?

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

或者,看起来普通的套接字连接不会受到影响。在TCP for J2ME上是否有免费的HTTP实现?

5 个答案:

答案 0 :(得分:4)

某些手机允许您手动更改设置以在每个会话中设置一次。或者尝试添加

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

到jad文件。

是的,如果构建使用大多数设备上可用的根证书签名,例如Verisign Class 3证书

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

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

答案 1 :(得分:1)

不保证签署JAR会在所有手机和所有网络上禁止这些提示。它可能适用于某些人。 AFAIK你通常需要在每次构建时签名;因此,如果您在许多手机上使用相同的版本,则只需签名一次。

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

遇到HTTP的多个提示时,最好的选择是将用户引导到手机菜单中的MIDlet权限设置;这应该改为“问一次”。

HTH, funkybro

答案 2 :(得分:1)

Java Verified UTI根证书不在所有手机/网络组合上,对于受信任的第三方中的其他域,例如Verisign和Thawte(对于这些机构,特别是摩托罗拉设备),情况也是如此。

可以公平地说,UTI证书可能是一个可以选择为您提供手机覆盖率最高的证书

答案 3 :(得分:0)

要禁止HTTP连接提示,签署应用程序是唯一的选择。另一种方法是在售前电话上预装,但即使是手机制造商也需要签名的jad / jars。

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

我不知道创建自己的证书并要求客户安装它们。我不认为它的工作原理,因为我认为这是不可能的。

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

答案 4 :(得分:0)

获取Java Verified并且您会在所有网络和电话上找到它 - 每次启动应用程序以授权连接时,用户只会收到一次提示。