안전 검측quées y cómo implementarlo.

안전 검사 Propociona cuatro elementos que brindan opciones de seguridad para nuestra aplicación:
통합 시스템: 검증 통합 시스템,esútil cuando setrata de pagos financiaros o datos confidenciales,por loque debemos asegurarnos de que nuestro dispositivo seguro y confirable.Asíobtendremos la integridad de nuestro dispositivo mientras ejecutamos nuestra aplicación.Podemos compobar si el dispositivo estárooteado o contiene caballos de Troya.
검증 aplicaciones: 검증 la seguridad de las aplicaciones nos ayudar á a buscar 바이러스 o aplicaciones maliciosas.
URLCheck:para verificar url externas y verificar si son seguras
사용자 검사:paradetectarusuariosfalsos,podremosdetectarsilaaplicaciónestáinteractiuandoconunusuariofalso,porejempo,unrobotounrastreador.

tenemos dos niveles de seguridad 아파트


Nivel del sistema:signific que podremos verificar la seguridad del sistema,como el dispositivo rooteado y los caballos de Troya.
응용 프로그램 단계: 중요한 podremos verificar la seguridad del comportamiento y URL de nuestras applicaciones.
파소스
  • Creación de una aplicación en AGC
  • Connecte Android Studio 프로젝트 a nuestra aplicación en AGC
  • Implementar el SDK de Safety Detect
  • 클리-투 우사리오 국제기구
  • Obtener un valor nonce
  • 소크타라 API
  • Verifica el resultado de la verificación
  • Notifica a la UI el resultado.
  • Crear una aplicación en AGC


    Como la mayoría de las integraciones con HMS tenemos que crear una aplicación en la consola AGC,completar la información adecuada de la aplicación y activar el kit de detección de seguridad.Si no es la primera vez que usas un kit HMS,no serádifícil seguir estos pasos;델로 콘트라리오(sigue este enlace que te guiar á paso a paso).
    https://developer.huawei.com/consumer/en/codelab/HMSPreparation/index.html#0
    Conecta Android Studio 프로젝트
    Crea el proyecto de Android Studio,ten en cuenta el nombre del paquete si es la primera vez que realizas este proceso sigue este enlace.
    https://developer.huawei.com/consumer/en/codelab/HMSPreparation/index.html#1
    Agrega la huella digital a tu aplicación AGC,la forma más fácil de lograr esto es usando Android Studio,en el lado derecho de la pantalla,ve a Gradle y haz clic en lo siguiente,en la pantalla de output obtendrás el mensaje con el SHA256 el cual deberás copiar a AGC.

    실행기 el SDK de detección de seguridad


    "변!Agreguemos el SDK de detección de seguridad y editemos el archivo proguard 규칙.Para agregar el SDK de detección de seguridad,debemos agregarlo como en esta imagen.
    dependencies {
    // Add the following line
    implementation 'com.huawei.hms:safetydetect:5.0.2.300'
    }
    

    Crea tu interfaz de Usario 회사


    Creéuna interfaz de usuario simple con un botón de llamada a la acción responsible de inicializar el proceso de conexión con la API.Puedes crear el tuyo propio pero si quieres copiar el mío aqítienes el XML
    <?xml version="1.0" encoding="utf-8"?>
     <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
         xmlns:app="http://schemas.android.com/apk/res-auto"
         xmlns:tools="http://schemas.android.com/tools"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:background="@color/emui_color_gray_1"
         tools:context=".MainActivity">
    
         <TextView
             android:id="@+id/textView"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginBottom="316dp"
             android:text="Result:"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintHorizontal_bias="0.29"
             app:layout_constraintStart_toStartOf="parent" />
    
         <Button
             android:id="@+id/check_button"
             android:layout_width="155dp"
             android:layout_height="71dp"
             android:background="@color/colorPrimary"
             android:text="Check"
             android:textColor="@android:color/holo_blue_bright"
             android:textSize="18sp"
             android:textStyle="bold"
             app:layout_constraintBottom_toTopOf="@+id/textView"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toBottomOf="@+id/textView2"
             app:layout_constraintVertical_bias="0.631" />
    
         <TextView
             android:id="@+id/textView2"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginTop="120dp"
             android:fontFamily="sans-serif"
             android:text="Safety Detection"
             android:textColor="@color/colorAccent"
             android:textSize="30sp"
             android:textStyle="bold"
             android:typeface="sans"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toTopOf="parent" />
    
     </androidx.constraintlayout.widget.ConstraintLayout>
    
    Deberíamos ver algo como esto

    Obtener un valor nonce


    Tenemos que obtener un valor nonce,pero?quésignific un valor nonce?En criptografía,un nonce es un número arbitrario que se puede usar solo una vez En una comunicación criptográfica.esp íritu a una palabra nonce, de ah íel nombre와 유사합니다.A menudo es un número aleatorio o pseudo aleatorio emittedo en un protocolo de autenticación para garantizar que las comunicaciones antiguas no se puedan reutilizar en ataques de repetición.
    El valor de nonce debe contener de 16 a 66 bytes y solo se puede usar una vez.
    La API sysIntegrity tiene dos parámetros,uno es el valor nonce y el otro es el ID de La aplicación.Para recurparar su aplicación,puede obtenera desde La consola AGC.
    Vamos 자동차 한 대
    byte[] nonce = ("ADX2099" + System.currentTimeMillis()).getBytes();
         SafetyDetect.getClient(this)
                 .sysIntegrity(nonce,APP_ID)
                 .addOnFailureListener(new OnFailureListener() {
                     @Override
                     public void onFailure(Exception e) {
                         e.printStackTrace();
                     }
                 })
                 .addOnSuccessListener(new OnSuccessListener<SysIntegrityResp>() {
                     @Override
                     public void onSuccess(SysIntegrityResp sysIntegrityResp) {
                         String sysResult = sysIntegrityResp.getResult();
                         String[] respoSplit = sysResult.split("\\.");
                         String jwsPayLoadStr =respoSplit[1];
                         String payloadDetail = new String(Base64.decode(jwsPayLoadStr.getBytes(), Base64.URL_SAFE));
                         Log.d("TAG1", sysResult);
                     }
                 });
    
     }
    
    Permíteme explicarte lo que estoy haciendo aqí.
    Primero、como deberías notar、este código debería estar dentro de un método、pero te dejarédecidir cómo resolver esa parte.
    En primer lugar,debemos notar que estamos usando el patrón builder para usar la detección de seguridad.Entonences estos son los pasos que estamos siguiendo
    회사 명
    Pase su ID de aplicación
    실시 unoyente para eléxito y unoyente para el fracaso.
    Si la llamada es exitosa,recibiremos el resultado de la verificación de integridad del sistema,esta respuesta es una cadena codecada en Base64 y consta de 3 partes
    a) Encabezado 회사
    b) 카가틸
    c) 필마
    Las tres partes se separan con\barras
    "아홀라!Convirtamos nuestra respuesta en un objeto JSON,por supuesto,no olvide crear una instancia de su TextView
    try{
         JSONObject theObject = new JSONObject(payloadDetail);
         final boolean basicIntegrity = theObject.getBoolean(BASIC_INTEGRITY);
         resultTV.setText("" + basicIntegrity);
    
     }catch (JSONException ex){
         ex.printStackTrace();
     }
    

    결론


    Coneste ejemplo aprendimos cómousar 안전 검사.

    좋은 웹페이지 즐겨찾기