我正在尝试构建一个示例应用程序来测试应用程序的真实性,但不幸的是我没有成功。
我正在 Android 设备上进行测试,因此我使用自定义证书签署了我的应用程序,并通过 Worklight 向导将此证书提取到 application-descriptor.xml 中。我还在独立的 WL 服务器上部署了我的项目,而不是使用 Studio。我的移动安全测试如下所示:`
<mobileSecurityTest name="mobileTests">
<testAppAuthenticity/>
<testDeviceId provisioningType="none" />
<testUser realm="MyRealm" />
</mobileSecurityTest>
`
以下是我发现的意外行为:
- 在客户端,尽管上面显示了顺序,但用户登录页面位于 AppAuthenticity 检查之前。
- 提交用户表单后,我在服务器端看到以下错误消息,而在此阶段移动应用程序应该是真实的: [12/09/13 20:12:31:649 CEST] 00000070 com.worklight.core.auth.ext.AuthenticityLoginModule E FWLSE0127E:真实性检查失败。[项目工作灯]
- 在客户端,发生此错误后,我在 logcat 中看到以下 Javascript 错误。我会想象框架会告诉我安全检查失败并且默认情况下会强制应用程序关闭: 09-12 20:12:30.822: I/dalvikvm(20308): 找不到方法 com.worklight.utils.PaidSecurityUtils.kpg,引用自方法 com.worklight.utils.SecurityUtils.kpg 09-12 20:12:30.827 : W/dalvikvm(20308): VFY: 无法解析静态方法 9603: Lcom/worklight/utils/PaidSecurityUtils;.kpg (Landroid/content/Context;[Ljava/lang/String;)[B
谢谢你告诉我我是否做错了什么。仅供参考,如果在 WL 控制台上我禁用了真实性检查,那么该应用程序当然可以正常工作。
艾蒂安