3

我正在编写一个 Java ME 应用程序,它将使用特权操作,例如消息传递。默认情况下,系统会提示用户确认每个操作,但我想将其作为后台服务运行。

文档说要在 jad 文件中请求许可,我已经这样做了,并假设它可以在设备上运行。不过,我想先在 Netbeans 移动模拟器上对此进行测试。

我尝试将应用程序签名为“受信任”,但我的模拟执行仍然提示用户许可。

4

1 回答 1

2

MIDP安全模型需要分两部分来解释:

手机(或模拟器)包含安全策略。
安全策略由多个域组成。
每个域定义功能组和根证书。
功能组决定哪些保护选项(始终自动同意,用户始终同意,用户同意一次......)在受保护 API(即消息传递)的域中可用。

适用于您的 MIDlet 的域取决于哪个根证书信任您签署 MIDlet 所用的证书。

您的问题是,您认为保护选项应该适用于您认为您的 MIDlet 也属于的域中的 API 与模拟器安全策略中实际定义的内容之间存在不匹配。

编辑:

基于 WTK 的模拟器的操作方法:

_policy.txt*文件夹中有3个文件${netbeans_installation_folder}\mobility8\WTK2.5.2\j2mewtk_template\appdb\

它们每个都包含一个“别名”定义列表和一个“域”定义列表。

使每个域都具有与“最大”域相同的内容。

在此之后,您的模拟器将永远不会再要求任何用户权限

如果您已经使用过 Netbeans 中包含的模拟器,您可能希望对${netbeans_installation_folder}\mobility8\WTK2.5.2\appdb\文件夹进行相同的更改。

于 2009-11-11T17:25:09.223 回答