( gemnon | 2024. 05. 22., sze – 17:45 )

Szerkesztve: 2024. 05. 22., sze – 17:48

Válasz Imo üzenetére

Nem vagyok android programozó, de screen lock nélkül eleve nem megy a dolog ebből:

<string name="kab_registration_error_lock_element_description_1">A készülékeden nincs beállított képernyőzár.</string>
<string name="kab_registration_error_lock_element_description_2">Állítsd be a rendszerbeállításokban!</string>

feltétel.

Ebből:

<string name="kab_registration_error_ssl_element_description_1">Ismeretlen problémát találtunk.</string>
<string name="kab_registration_error_ssl_element_description_2">Próbáld meg egy másik készüléken!</string>
<string name="kab_registration_error_ssl_element_title">Ismeretlen probléma</string>
<string name="kab_registration_error_tee_element_description_1">A készüléked nem rendelkezik biztonságos kulcstárolásra képes chippel.</string>
<string name="kab_registration_error_tee_element_description_2">Próbáld meg egy másik készüléken!</string>
<string name="kab_registration_error_tee_element_title">Platformmegbízhatósági modul nem megfelelő</string>

Az jön le, hogy a kulcs hardware tárolón van (ami régen mintha screen lock variálásnál törlődött volna).

    public final boolean b() {
        int securityLevel;
        C1900l c1900l = this.f810d;
        try {
            SecretKey secretKey = null;
            Key key = ((KeyStore) c1900l.getValue()).getKey("HwCheckKey", null);
            if (key instanceof SecretKey) {
                secretKey = (SecretKey) key;
            }
            if (secretKey == null) {
                secretKey = a("HwCheckKey");
            }
            KeySpec keySpec = SecretKeyFactory.getInstance("AES").getKeySpec(secretKey, KeyInfo.class);
            AbstractC2455a.q("null cannot be cast to non-null type android.security.keystore.KeyInfo", keySpec);
            KeyInfo keyInfo = (KeyInfo) keySpec;
            ((KeyStore) c1900l.getValue()).deleteEntry(keyInfo.getKeystoreAlias());
            if (Build.VERSION.SDK_INT >= 31) {
                securityLevel = keyInfo.getSecurityLevel();
                return securityLevel == 1 || securityLevel == 2;
            }
            return keyInfo.isInsideSecureHardware();
        } catch (Exception unused) {
            return false;
        }
    }

És ezért kell amúgy újraregisztálni. Amúgy szép,  az obstructed code csak nem  közösből finanszírozott projekteknél.