有些手机仅在第一次建立连接时提示用户进行许可。当MIDlet尝试建立HTTP连接时,其他人会弹出权限提示!如果我们想要抑制提示,有哪些选项?
我们是否可以仅使用一个CA(证书颁发机构)对JAR进行签名,并使其适用于所有设备?我们是否必须在每次发布时支付签名?
是否可以选择创建我们自己的CA证书并告诉我们的客户将其安装在设备上?
或者,看起来普通的套接字连接不会受到影响。在TCP for J2ME上是否有免费的HTTP实现?
答案 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并且您会在所有网络和电话上找到它 - 每次启动应用程序以授权连接时,用户只会收到一次提示。