3

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

我们可以只使用一个 CA(证书颁发机构)签署 JAR 并让它在所有设备上工作吗?我们是否必须在每次发布时为签名付费?

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

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

4

5 回答 5

4

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

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

到 jad 文件。

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

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

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

于 2009-06-22T06:41:15.263 回答
1

签署 JAR 并不能保证在所有手机和所有网络上抑制这些提示。它可能对某些人有效。AFAIK,您通常需要为每个构建签名;因此,如果您在许多手机上使用相同的版本,您只需签名一次。

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

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

HTH,时髦的兄弟

于 2009-06-22T12:42:10.183 回答
1

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

可以公平地说,UTI 证书可能是为您提供最多手机覆盖范围的证书

于 2009-07-03T16:21:12.417 回答
0

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

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

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

如果您知道自己在做什么,那么基于 TCP 的 HTTP 是一个相当简单的实现,但我不知道它有任何免费的实现。

于 2009-06-21T00:22:50.460 回答
0

获得 Java 验证,您会发现在所有网络和手机上 - 用户每次启动应用程序以授权连接时只会收到一次提示。

于 2009-06-24T19:37:14.510 回答