尝试做应用程序真实性并在client.connect()获取"应用程序真实性安全检查失败"

时间:2016-07-04 07:32:52

标签: ibm-mobilefirst mobilefirst-server

您好我正在尝试连接到生产服务器并执行应用程序真实性(本机Android应用程序)。但是我收到了以下错误"应用程序真实性安全检查失败"。

我在MFP项目级别所做的工作。

在authconfig xml中。

<customSecurityTest name="AuthSecurityTest">
        <test realm="wl_antiXSRFRealm" step="1" />
        <test realm="wl_authenticityRealm" step="1" />
        <test realm="wl_remoteDisableRealm" step="1" />
        <test isInternalUserID="true" realm="AuthRealm" step="1" />
        <test realm="wl_deviceNoProvisioningRealm" isInternalDeviceID="true"
            step="2" />
    </customSecurityTest>


<realm loginModule="AuthLoginModule" name="AuthRealm">
        <className>com.worklight.integration.auth.AdapterAuthenticator</className>
        <parameter name="login-function" value="AuthAdapter.onAuthRequired" />
        <parameter name="logout-function" value="AuthAdapter.onLogout" />
    </realm>

<loginModule name="AuthLoginModule">
        <className>com.worklight.core.auth.ext.NonValidatingLoginModule</className>
    </loginModule>

我的应用程序描述符:

<nativeAndroidApp xmlns="http://www.worklight.com/native-android-descriptor" 
id="MFP_Android" 
platformVersion="7.1.0.00.20160401-2103" securityTest="AuthSecurityTest" version="1.0">
    <displayName>MFP_Android</displayName>
    <description>MFP_Android</description>
    <accessTokenExpiration>3600</accessTokenExpiration>
    <publicSigningKey>MIIBHSAKJHDFKJHFKHDFKJHDKJHDFSKJHFDSKJHFDSKJDFHKJDFHDFHJDSKDFSHKDJFSHKJFDHSKJDFSHKJDFSHKJDFSHKJDFHSKJDFHlkasalJAscnmxzcncxmnzksjdadskjdsjsdjskjdksjdakjdssdjksdaj</publicSigningKey>
    <packageName>com.mfp</packageName>
    <targetCategory>UNDEFINED</targetCategory>
    <licenseAppType>APPLICATION</licenseAppType>
</nativeAndroidApp> 

我在连接上打电话挑战。

AndroidChallengeHandler challengeHandler = new AndroidChallengeHandler("AuthRealm");
WLClient client;
client.registerChallengeHandler(challengeHandler);
client.connect();

我的回复是

/*-secure- {"reason":"App authenticity security check failed"}*/
我会得到这样的回应。

1 个答案:

答案 0 :(得分:1)

  1. 我觉得很奇怪你的包名真的是“com.mfp”,如描述符XML文件中所示:<packageName>com.mfp</packageName>
  2. 您是否确定这是您的包名(您可以在Android原生项目的AndroidManifest.xml文件中找到)?

    1. 另一种可能性是,描述符XML文件中使用的密钥与用于对.apk进行签名的密钥不匹配。

    2. 最后,这可能是由于您在身份验证配置XML文件中定义的步骤。尝试将“wl_remoteDisableRealm”更改为“步骤2”。此更改将要求您将更新的.war文件重新部署到应用程序服务器。