应用校验对话框UI显示调整完成。
This commit is contained in:
@@ -10,7 +10,7 @@ import cc.winboll.studio.libappbase.LogUtils;
|
||||
import cc.winboll.studio.libappbase.R;
|
||||
import cc.winboll.studio.libappbase.ToastUtils;
|
||||
import cc.winboll.studio.libappbase.utils.APPUtils;
|
||||
import cc.winboll.studio.libappbase.utils.SignGetUtils;
|
||||
import cc.winboll.studio.libappbase.utils.ApkSignUtils;
|
||||
|
||||
/**
|
||||
* @Describe 签名显示+正版校验对话框
|
||||
@@ -25,6 +25,8 @@ public class SignGetDialog extends Dialog {
|
||||
private Context mContext;
|
||||
String projectName;
|
||||
String versionName;
|
||||
String clientSign;
|
||||
String clientHash;
|
||||
|
||||
public SignGetDialog(Context context, String projectName, String versionName) {
|
||||
super(context, R.style.DialogStyle); // 适配默认对话框样式
|
||||
@@ -38,6 +40,12 @@ public class SignGetDialog extends Dialog {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.dialog_sign_get); // 绑定xml布局
|
||||
setCancelable(true); // 点击外部可关闭
|
||||
|
||||
// 获取与服务端对齐的签名
|
||||
this.clientSign = ApkSignUtils.getApkSignAlignedWithServer(this.mContext);
|
||||
// 获取哈希(不变)
|
||||
this.clientHash = ApkSignUtils.getApkSHA256Hash(this.mContext);
|
||||
|
||||
initView();
|
||||
initSignAndCheck(); // 获取签名+正版校验
|
||||
}
|
||||
@@ -47,6 +55,7 @@ public class SignGetDialog extends Dialog {
|
||||
tvAuthResult = findViewById(R.id.tv_auth_result);
|
||||
// 输入框只读,方便复制
|
||||
etSignFingerprint.setEnabled(false);
|
||||
etSignFingerprint.setText(convertSignToBitArrayWithWrap(this.clientSign));
|
||||
}
|
||||
|
||||
// 核心:获取签名+调用APPUtils校验
|
||||
@@ -57,6 +66,8 @@ public class SignGetDialog extends Dialog {
|
||||
mContext,
|
||||
this.projectName,
|
||||
this.versionName,
|
||||
this.clientSign,
|
||||
this.clientHash,
|
||||
new APPUtils.CheckResultCallback() {
|
||||
@Override
|
||||
public void onResult(boolean isValid, String message) {
|
||||
|
||||
@@ -41,6 +41,7 @@ import okhttp3.Response;
|
||||
public class APPUtils {
|
||||
// ===================================== 全局常量/属性 =====================================
|
||||
public static final String TAG = "APPUtils";
|
||||
|
||||
// 网络校验接口地址
|
||||
private static final String CHECK_API_URI = "api/app-signatures-check";
|
||||
// OKHTTP客户端(单例复用)
|
||||
@@ -56,7 +57,7 @@ public class APPUtils {
|
||||
* @param versionName 应用版本名
|
||||
* @param callback 校验结果回调(主线程回调)
|
||||
*/
|
||||
public void checkAPKValidation(Context context, String projectName, String versionName, final CheckResultCallback callback) {
|
||||
public void checkAPKValidation(Context context, String projectName, String versionName, String clientSign,String clientHash, final CheckResultCallback callback) {
|
||||
// 入参调试日志
|
||||
LogUtils.d(TAG, "checkAPKValidation: 入参 projectName=" + projectName + ", versionName=" + versionName);
|
||||
// 空参校验
|
||||
@@ -86,10 +87,7 @@ public class APPUtils {
|
||||
LogUtils.d(TAG, "checkAPKValidation: 开始获取应用官方签名与APK SHA256哈希");
|
||||
// String clientSign = getOfficialSignBase64(context);
|
||||
// String clientHash = getApkSHA256Hash(context);
|
||||
// 获取与服务端对齐的签名
|
||||
String clientSign = ApkSignUtils.getApkSignAlignedWithServer(context);
|
||||
// 获取哈希(不变)
|
||||
String clientHash = ApkSignUtils.getApkSHA256Hash(context);
|
||||
|
||||
// 传服务端校验
|
||||
|
||||
// 签名/哈希结果校验
|
||||
|
||||
Reference in New Issue
Block a user