Chyba Keystore na Android VPN: znovu zaregistrovat, odemknout, nebo zkusit znovu?
Tři výsledky úložiště klíčů Androidu vyžadují tři různá řešení. Porovnejte odemčení, novou registraci a opakování u poskytovatele, než smažete úložiště aplikace.
Profil je stále v seznamu, certifikát se stále zobrazuje jako nainstalovaný a tlačítko připojení selhává se zprávou, která říká jen „Chyba Keystore“ a nic jiného. Než smažete úložiště aplikace nebo telefon odevzdáte, zjistěte, která operace s klíčem selhala. Tři výsledky dávají stejný dialog a reagují na tři různé kroky — jen jeden z nich je destruktivní. Srovnání stojí za deset minut, protože špatná větev vás stojí identitu, kterou jste se snažili zachovat.
Tři selhání za jedním dialogem
První je ověření. Klíč existuje a je platný, ale jeho použití vyžaduje, aby uživatel prokázal přítomnost — odemčení zařízení, biometrii nebo výzvu pracovního profilu. Pokud se nedávno změnil časový limit zámku, zapsaná biometrie nebo stav profilu, může použití klíče selhat, i když je klíč sám naprosto v pořádku.
Druhé je trvalé zneplatnění. Některý materiál klíčů zneplatňuje zásada platformy, když se resetuje metoda zámku nebo se změní biometrická registrace, protože vazba, která ho chránila, už neplatí. Klíč nelze opravit a opakování není plán obnovy; identita se musí nahradit procesem registrace, který ji vydal.
Třetí je selhání poskytovatele: služba úložiště klíčů teď nemohla operaci dokončit. To je třída, kterou někdy stojí za to opakovat, a jediná.
| Failure | What it means | What recovers it | What does not |
|---|---|---|---|
| User not authenticated | Key needs a presence check | Supported unlock or authorization flow | A VPN account password reset |
| Key permanently invalidated | Binding is gone; key unusable | Replacement enrollment for that identity | Retrying, rebooting, reinstalling the client |
| Transient provider error | Service could not complete now | The provider's documented retry path | Clearing app data |
Všimněte si, že dva ze tří jsou nedestruktivní a jeden nemá na úrovni zařízení vůbec žádné řešení. Žádný z nich neřeší vymazání telefonu, což je krok, který lidé dělají první, protože jim dialog nic jiného nenabízí.
Nová registrace versus smazání dat
Tyto dvě vypadají zvenku podobně a nejsou. Nová registrace žádá vydávající systém o novou identitu — nový certifikát nebo klíč svázaný s tímto zařízením — a starou vyřadí. Smazání dat odstraní uložený stav aplikace, což může odstranit odkaz na klíč, aniž by odstranilo klíč, nebo může odstranit klíč a nechat vás bez oprávnění ho znovu vytvořit.
Rozdíl je důležitý, protože neexportovatelné klíče nejsou podle návrhu přenosné. Žijí v úložišti klíčů zařízení s podporou dostupného hardwaru nebo poskytovatele a nejsou něčím, co záloha zachytí a obnova vrátí. Pokud je identita nasazení neexportovatelný klíč, počítejte s novou registrací jako s obnovou a předem si potvrďte, že máte schválenou cestu k jejímu získání — některé organizace k tomu vyžadují přístup do privátní sítě, což je přesně to, co rozbitá VPN poskytovala.
Pořadí je tedy: zkuste podporovanou cestu ověření, pak určete, zda je klíč trvale neplatný, a identitu nahraďte jen tehdy, když je. Smazání úložiště patří na konec, poté co víte, co se znovu vytvoří, ne na začátek proto, že je snadné.
Opakujte jen to, co lze opakovat
Starší verze platformy slévaly chyby úložiště klíčů do jediné výjimky, a proto tolik klientů opakuje všechno. Od API 33 nese typ výjimky strukturu: číselnou chybu, příznak přechodného selhání a zásadu opakování. Pro vývojáře klienta má zásada opakování smysl jen tehdy, když je příznak přechodnosti pravdivý; trvalé zneplatnění nemá žádný plán opakování a bušení do něj ve smyčce jen vybíjí baterii a plní log.
Pokud diagnostikujete, místo abyste psali klienta, je praktický důsledek stejný. Shodná selhání při každém pokusu vylučují jednorázový výkyv, ale neoddělují trvale zneplatněný klíč od poskytovatele, který je už nějakou dobu nedostupný — výpadek poskytovatele vypadá při desátém pokusu úplně stejně jako při prvním. Bez strukturovaných polí API 33 berte opakování jako důvod hledat druhý signál — kód chyby, pokud ho váš build ukazuje, stav operátora nebo jiný klíč na stejném zařízení, který uspěje — a ne jako důkaz, že je klíč mrtvý.
Čtěte řetězec příčin, ne označení
Aplikace zabalují původní výjimku a přátelský řetězec v rozhraní často skrývá jediné pole, které rozhoduje o větvi. Zachovejte řetězec příčin a časové razítko pokusu: vnější výjimka obvykle pojmenuje operaci a příčina pojmenuje stav klíče.
Vzepřete se závěru, že dvě selhávající aplikace dokazují vadný telefon. Různé klíče mohou být podloženy různými poskytovateli a úrovněmi zabezpečení a aplikace, která stále funguje, nemusí stejnou operaci vůbec provádět — podpis, dešifrování a atestace klíče jsou různé požadavky na stejnou službu. referenční příručka KeyStoreException popisuje strukturovaná pole na novějších úrovních API a je místem, kde zjistíte, co váš build skutečně umí hlásit.
Co by podpořilo závěr o hardwaru, je užší, než většina lidí předpokládá: stejná operace u stejného poskytovatele selhává napříč nezávislými klíči s chybou na úrovni poskytovatele, nikoli klíče. To je otázka pro diagnostiku platformy, ne pro vlákno na fóru podpory o dávce zařízení.
Co si zaznamenat, než se rozhodnete
Zaznamenejte build Androidu, verzi klienta, vybraný profil, operaci, která selhala, a zda se nedávno něco změnilo — aktualizace operačního systému, změna zamykací obrazovky, nový otisk prstu, nová registrace. Zaznamenejte posloupnost jako kontext, ne jako důkaz příčiny; změna zámku před selháním klíče je pravděpodobná korelace, ne důkaz.
Pak jednejte podle větve, kterou jste určili. Přechodné: zachovejte identitu, použijte podporovanou cestu opakování. Vyžaduje se ověření: dokončete podporovaný tok odemčení a zachovejte zásadu zámku, kterou nasazení vyžaduje, místo abyste ji vypínali, jen abyste prošli dialog. Trvale neplatné: nahraďte a vyřaďte identitu běžnou registrací.
Skončete tím, že výsledek prokážete na novém autorizovaném připojení ke skutečnému zdroji s nadále zapnutým ověřováním serveru. Cokoli, co funguje jen se zmírněným ověřováním certifikátů, problém s klíčem nevyřešilo — přesunulo ho do síťové vrstvy, kde se později objeví s horšími příznaky.
- Tři větve: vyžaduje ověření, trvale neplatné, přechodné u poskytovatele.
- Jen třetí má užitek z opakování, a to jen podle své zásady opakování.
- Nahrazující registrace obnoví přístup; smazání dat tuto možnost odstraní.
- Ověřte novým připojením a běžným ověřováním identity serveru.