|
1、新建一个android-demo,包名为:com.test.bvcu,执行 BVCU.getAuth().auth方法,伪代码如下:
BVCU_Config.AUTH.APP_ID = “app_fc7b841e1ee00b35”;
BVCU_Config.AUTH.TYPE_MCP = “MCP”;
BVCU_Config.AUTH.RSAE = “94eb02d0c3c404c7”;
BVCU_Config.AUTH.RSAN = “87f24b691b52c639f6f7dffbc5347153”;
BVCU_Config.AUTH.USER_LABEL = "label_08daf34069bfa2de6b6482c0e45a68e5";
Build.FINGERPRINT 为当前设备的指纹,获得的值为:HUAWEI/EML-AL00/HWEML:10/HUAWEIEML-AL00/10.0.0.156C00:user/release-keys
public static int doAuth(Context context, BVAuth_EventCallback authEventCallback) {
BVAuth_Request bvAuth_request = new BVAuth_Request();
bvAuth_request.setSzDeveloperAppID(BVCU_Config.AUTH.APP_ID);
bvAuth_request.setSzAppType(BVCU_Config.AUTH.TYPE_MCP);
bvAuth_request.setSzDeveloperRsaE(BVCU_Config.AUTH.RSAE);
bvAuth_request.setSzDeveloperRsaN(BVCU_Config.AUTH.RSAN);
SharedTools sharedTools = new SharedTools(context);
String serial_num = sharedTools.getShareString("auth.serialnumber", "");
bvAuth_request.setSzSerialNumber(serial_num);
bvAuth_request.setSzInnerInfo("");
bvAuth_request.setUserLabel(BVCU_Config.AUTH.USER_LABEL);
bvAuth_request.setSzHardwareSN(Build.FINGERPRINT);// TODO
BVCU.getAuth().setAuthEventCallback(authEventCallback);
int status = BVCU.getAuth().auth(context, bvAuth_request);
Log.d("doAuth", "status=" + status);
return status;
}
此时执行认证是通过的,获得的 serial_num = “term_96a4460ec6fb9b28207225d6bd039961”
2、新建另外一个应用,包名为:com.gov.inspection.test,在执行以上方法,认证不通过;
3、把操作1中获得的serial_num复制到第二个应用中,即:
bvAuth_request.setSzSerialNumber(““term_96a4460ec6fb9b28207225d6bd039961””);
此时又可以认证成功。
4、当使用同一个serial_num时,同一个APP的两台设备,第一台认证、登陆成功后,打开第二台设备的APP会把第一台设备顶掉;
5、想求证以下问题:
a. serial_num 和哪些信息有绑定关系;
b. serial_num 在哪里管理,本地的客户端软件是否能进行管理;
c. 同一个APP,在多台设备上都需要认证、登陆,请问需要注意哪些配置;
|
|