A profil még mindig a listán van, a tanúsítvány még mindig telepítettként látszik, és a csatlakozás gomb egy olyan üzenettel hibázik, amely csak annyit mond: „Keystore-hiba”, és semmi mást. Mielőtt törli az alkalmazás tárhelyét vagy leadja a telefont, állapítsa meg, melyik kulcsművelet hibázott. Három kimenetel ugyanazt a párbeszédpanelt hozza létre, és három különböző műveletre reagálnak — csak az egyik pusztító. Az összehasonlítás tíz percet ér, mert a rossz ágba futás épp azt az identitást veszi el, amelyet meg akart tartani.

Három hiba egyetlen párbeszéd mögött

Az első a hitelesítés. A kulcs létezik és érvényes, de használatához a felhasználónak igazolnia kell a jelenlétét — eszközfeloldás, biometria vagy munkaprofil-kihívás. Ha a zárolási időkorlát, a regisztrált biometria vagy a profil állapota nemrég változott, a kulcs használata meghiúsulhat, miközben maga a kulcs teljesen rendben van.

A második a végleges érvénytelenítés. Egyes kulcsanyagokat a platform házirendje érvénytelenít, amikor a zárolási módot visszaállítják vagy a biometrikus regisztráció megváltozik, mert a védelmét adó kötés már nem áll fenn. A kulcs nem javítható, és az újrapróbálás nem helyreállítási terv; az identitást a kiadó regisztrációs folyamaton keresztül kell lecserélni.

A harmadik a szolgáltató hibája: a keystore szolgáltatás most nem tudta befejezni a műveletet. Ez az az osztály, amelyet néha érdemes újrapróbálni, és az egyetlen.

FailureWhat it meansWhat recovers itWhat does not
User not authenticatedKey needs a presence checkSupported unlock or authorization flowA VPN account password reset
Key permanently invalidatedBinding is gone; key unusableReplacement enrollment for that identityRetrying, rebooting, reinstalling the client
Transient provider errorService could not complete nowThe provider's documented retry pathClearing app data

Vegye észre, hogy a háromból kettő nem pusztító, és egynek egyáltalán nincs megoldása eszközszinten. Egyiket sem oldja meg a telefon törlése, pedig az emberek ezt teszik először, mert a párbeszéd semmi mást nem kínál.

Újraregisztrálás vagy adattörlés

Ez a kettő kívülről hasonlónak tűnik, és nem az. Az újraregisztrálás új identitást kér a kiadó rendszertől — ehhez az eszközhöz kötött friss tanúsítványt vagy kulcsot —, és nyugdíjazza a régit. Az adattörlés törli az alkalmazás tárolt állapotát, ami eltávolíthatja a kulcsra mutató hivatkozást a kulcs eltávolítása nélkül, vagy eltávolíthatja a kulcsot, és jogosultság nélkül hagyhatja az újralétrehozásához.

A különbség számít, mert a nem exportálható kulcsok tervezésüknél fogva nem hordozhatók. Az eszköz keystore-jában élnek, a rendelkezésre álló hardver vagy szolgáltató támogatásával, és nem olyan dolgok, amelyeket egy biztonsági mentés elkap és egy visszaállítás visszatesz. Ha a telepítés identitása nem exportálható kulcs, tervezzen újraregisztrálást helyreállításként, és előre erősítse meg, hogy van jóváhagyott útvonala ahhoz a regisztrációhoz — egyes szervezetek ehhez privát hálózati hozzáférést követelnek meg, ami pontosan az volt, amit a törött VPN biztosított.

A sorrend tehát: próbálja ki a támogatott hitelesítési útvonalat, utána állapítsa meg, hogy a kulcs véglegesen érvénytelen-e, és csak akkor cserélje le az identitást, ha igen. A tárhely törlése a végére tartozik, miután tudja, mi fog újra létrejönni, nem az elejére azért, mert könnyű.

Csak azt próbálja újra, ami újrapróbálható

A régebbi platformverziók egyetlen kivételbe vonták össze a keystore-hibákat, ezért próbál újra olyan sok ügyfél mindent. Az API 33-tól a kivétel típusa szerkezetet hordoz: numerikus hibát, átmeneti hiba jelzőt és újrapróbálási házirendet. Egy ügyfél-fejlesztőnek az újrapróbálási házirend csak akkor jelent valamit, ha az átmenetiség jelzője igaz; a végleges érvénytelenítésnek nincs újrapróbálási ütemterve, és a ciklusban való csépelése csak meríti az akkumulátort és tölti a naplót.

Ha diagnosztizál, ahelyett hogy az ügyfelet írná, a gyakorlati következmény ugyanaz. Az azonos hibák minden kísérletnél kizárják az egyszeri hibát, de nem választják el a véglegesen érvénytelenített kulcsot egy olyan szolgáltatótól, amely már egy ideje elérhetetlen — a szolgáltató kiesése a tizedik próbálkozásnál pontosan ugyanúgy néz ki, mint az elsőnél. Az API 33 szerkezetes mezői nélkül tekintse az ismétlődést oknak egy második jel keresésére — a hibakód, ha a build felfedi, az üzemeltető állapota vagy egy másik kulcs sikeres használata ugyanazon az eszközön —, és nem bizonyítéknak arra, hogy a kulcs halott.

Az okok láncát olvassa, ne a címkét

Az alkalmazások becsomagolják az eredeti kivételt, és a felület barátságos szövege gyakran elrejti az egyetlen mezőt, amely az ágról dönt. Őrizze meg az okok láncát és a kísérlet időbélyegét: a külső kivétel rendszerint a műveletet nevezi meg, az ok pedig a kulcs állapotát.

Ellenálljon annak a következtetésnek, hogy két hibázó alkalmazás hibás készüléket bizonyít. A különböző kulcsokat különböző szolgáltatók és biztonsági szintek támogathatják, és egy még működő alkalmazás egyáltalán nem biztos, hogy ugyanazt a műveletet végzi — az aláírás, a visszafejtés és a kulcsigazolás különböző kérések ugyanahhoz a szolgáltatáshoz. KeyStoreException-referencia az újabb API-szintek szerkezetes mezőit írja le, és ez az a hely, ahol ellenőrizheti, mit tud valójában jelenteni a buildje.

Ami hardverkövetkeztetést támasztana alá, szűkebb, mint azt a legtöbben feltételezik: ugyanaz a művelet, ugyanannál a szolgáltatónál, független kulcsokon hibázik szolgáltatószintű, nem kulcsszintű hibával. Ez a platform diagnosztikájának kérdése, nem egy támogatási fórum témája egy eszközszállítmányról.

Mit rögzítsen, miközben dönt

Rögzítse az Android buildjét, az ügyfél verzióját, a kiválasztott profilt, a meghiúsult műveletet, és hogy változott-e valami nemrég — operációsrendszer-frissítés, zárolási képernyő módosítása, új ujjlenyomat, újraregisztrálás. Rögzítse a sorrendet kontextusként, ne az ok bizonyítékaként; a zár változása a kulcshiba előtt valószínű korreláció, nem bizonyítás.

Utána cselekedjen a megállapított ág szerint. Átmeneti: tartsa meg az identitást, használja a támogatott újrapróbálási útvonalat. Hitelesítés szükséges: fejezze be a támogatott feloldási folyamatot, és tartsa meg a telepítés által megkövetelt zárolási házirendet ahelyett, hogy kikapcsolná egy párbeszéd túllépéséhez. Véglegesen érvénytelen: cserélje le és nyugdíjazza az identitást normál regisztrációval.

Fejezze be azzal, hogy az eredményt friss, engedélyezett kapcsolaton bizonyítja egy valódi erőforrás felé, a kiszolgáló ellenőrzését továbbra is bekapcsolva hagyva. Bármi, ami csak lazított tanúsítványellenőrzéssel működik, nem javította meg a kulcsproblémát — átmozgatta a hálózati rétegbe, ahol később rosszabb tünetekkel jelentkezik.

  • Három ág: hitelesítés szükséges, véglegesen érvénytelen, szolgáltatónál átmeneti.
  • Csak a harmadik profitál az újrapróbálásból, és csak a saját újrapróbálási házirendje szerint.
  • A csere-regisztráció helyreállítja a hozzáférést; az adattörlés megszünteti a lehetőséget.
  • Ellenőrizze friss kapcsolattal és normál kiszolgáló-identitásellenőrzésekkel.

Kapcsolódó cikkek