Профиль әлі тізімде, сертификат әлі орнатылған болып көрінеді, ал қосылу түймесі тек «Keystore қатесі» дейтін хабарламамен сәтсіз аяқталады, басқа ештеңе жоқ. Қолданба қоймасын тазартпас немесе телефонды тапсырмас бұрын қай кілт операциясы сәтсіз болғанын анықтаңыз. Үш нәтиже бірдей диалог тудырады және олар үш түрлі әрекетке жауап береді — олардың тек біреуі ғана қиратушы. Бұл салыстыру он минутқа тұрарлық, өйткені дұрыс емес тармақ сақтағыңыз келген жеке басыңыздан айырады.

Бір диалогтың артындағы үш сәтсіздік

Біріншісі — аутентификация. Кілт бар және жарамды, бірақ оны пайдалану пайдаланушының қатысуын дәлелдеуін талап етеді — құрылғы құлпын ашу, биометрия немесе жұмыс профилінің шақыруы. Егер құлыптау уақыты, тіркелген биометрия немесе профиль күйі жақында өзгерсе, кілттің өзі мүлдем дұрыс болса да, кілтті пайдалану сәтсіз болуы мүмкін.

Екіншісі — тұрақты жарамсыздандыру. Кейбір кілт материалын платформа саясаты құлыптау әдісі қалпына келтірілгенде немесе биометриялық тіркеу өзгергенде жарамсыз етеді, өйткені оны қорғаған байланыс енді күшінде емес. Кілтті жөндеу мүмкін емес және қайталау қалпына келтіру жоспары емес; жеке басты оны берген тіркеу процесі арқылы ауыстыру керек.

Үшіншісі — провайдер ақауы: keystore қызметі операцияны дәл қазір аяқтай алмады. Бұл кейде қайталауға тұрарлық класс, және жалғыз сол.

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

Үшеуінің екеуі қиратушы емес, ал біреуінің құрылғы деңгейінде мүлде шешімі жоқ екенін байқаңыз. Олардың ешқайсысы телефонды жоюмен шешілмейді, ал адамдар бірінші кезекте осы қадамды жасайды, өйткені диалог оларға басқа ештеңе бермейді.

Қайта тіркелу немесе деректерді тазарту

Бұл екеуі сырттан ұқсас көрінеді және олай емес. Қайта тіркелу шығарушы жүйеден жаңа жеке басты — осы құрылғыға байланған жаңа сертификат немесе кілтті — сұрайды және ескісін зейнетке шығарады. Деректерді тазарту қолданбаның сақталған күйін жояды, бұл кілтті жоймай-ақ кілтке сілтемені алып тастауы мүмкін, немесе кілтті жойып, оны қайта жасауға өкілеттіксіз қалдыруы мүмкін.

Айырмашылық маңызды, өйткені экспортталмайтын кілттер дизайн бойынша тасымалданбайды. Олар құрылғының keystore-ында өмір сүреді, қолжетімді аппараттық немесе провайдердің қолдауымен, және олар сақтық көшірме ұстап, қалпына келтіру қайтаратын нәрсе емес. Егер орналастырудың жеке басы экспортталмайтын кілт болса, қалпына келтіру ретінде қайта тіркелуді жоспарлаңыз және алдын ала сол тіркелуді алудың бекітілген жолы бар екенін растаңыз — кейбір ұйымдар ол үшін жеке желіге қатынауды талап етеді, бұл дәл бұзылған VPN беріп отырған нәрсе еді.

Сондықтан реттілік мынадай: қолдау көрсетілетін аутентификация жолын көріңіз, содан кейін кілттің тұрақты жарамсыз екенін анықтаңыз, және жеке басты тек сонда ауыстырыңыз. Қойманы тазарту соңында — не қайта жасалатынын білгеннен кейін, жеңіл болғандықтан бірінші емес.

Тек қайталауға болатынды қайталаңыз

Ескі платформа нұсқалары keystore қателерін бір ерекшелікке біріктіретін, сондықтан көптеген клиенттер бәрін қайталайды. API 33-тен бастап ерекшелік түрі құрылым алып жүреді: сандық қате, өтпелі ақау жалаушасы және қайталау саясаты. Клиент әзірлеушісі үшін қайталау саясаты өтпелілік жалаушасы ақиқат болғанда ғана мәнге ие; тұрақты жарамсыздандырудың қайталау кестесі жоқ, және оны циклде ұру тек батареяны тауысады және журналды толтырады.

Егер клиентті жазудың орнына диагностика жасасаңыз, практикалық салдар бірдей. Әр әрекеттегі бірдей ақаулар бір реттік ақаулықты жоққа шығарады, бірақ тұрақты жарамсыздандырылған кілтті біраз уақыттан бері қолжетімсіз провайдерден ажыратпайды — провайдердің үзілуі оныншы әрекетте де біріншісіндегідей көрінеді. API 33-тің құрылымдық өрістері жоқ кезде қайталауды екінші сигнал іздеу себебі ретінде қарастырыңыз — қате коды, егер build оны көрсетсе, оператордың мәртебесі немесе сол құрылғыдағы басқа кілттің сәтті болуы — кілт өлді деген дәлел ретінде емес.

Себептер тізбегін оқыңыз, белгісін емес

Қолданбалар бастапқы ерекшелікті орап, интерфейстегі достық мәтін көбіне тармақты шешетін жалғыз өрісті жасырады. Себептер тізбегін және әрекеттің уақыт белгісін сақтаңыз: сыртқы ерекшелік әдетте операцияны атайды, ал себеп кілттің күйін атайды.

Екі сәтсіз қолданба ақаулы телефонды дәлелдейді деген тұжырымға қарсы тұрыңыз. Әртүрлі кілттерді әртүрлі провайдерлер мен қауіпсіздік деңгейлері қолдауы мүмкін, ал әлі жұмыс істейтін қолданба сол операцияны мүлде орындамауы мүмкін — қолтаңба, дешифрлау және кілт аттестациясы бір қызметке әртүрлі сұраныстар. KeyStoreException анықтамасы жаңарақ API деңгейлеріндегі құрылымдық өрістерді сипаттайды және build-іңіз шын мәнінде нені хабарлай алатынын тексеру орны.

Аппараттық тұжырымды қолдайтын нәрсе көпшілік ойлағаннан тар: сол операция, сол провайдерде, тәуелсіз кілттерде кілт деңгейінде емес, провайдер деңгейіндегі қатемен сәтсіз болады. Бұл платформа диагностикасына қойылатын сұрақ, құрылғылар партиясы туралы қолдау форумының тақырыбына емес.

Шешім қабылдағанда нені жазу керек

Android build-ін, клиент нұсқасын, таңдалған профильді, сәтсіз операцияны және жақында бірдеңе өзгерді ме — операциялық жүйе жаңартуы, құлып экранының өзгеруі, жаңа саусақ ізі, қайта тіркелу — жазыңыз. Тізбекті себептің дәлелі ретінде емес, контекст ретінде жазыңыз; кілт ақауы алдындағы құлып өзгерісі ықтимал корреляция, көрсетілім емес.

Содан кейін анықтаған тармағыңыз бойынша әрекет етіңіз. Өтпелі: жеке басты сақтаңыз, қолдау көрсетілетін қайталау жолын пайдаланыңыз. Аутентификация қажет: қолдау көрсетілетін құлыпты ашу ағынын аяқтаңыз және диалогтан өту үшін оны өшірудің орнына орналастыру талап ететін құлыптау саясатын сақтаңыз. Тұрақты жарамсыз: жеке басты қалыпты тіркелу арқылы ауыстырып, зейнетке шығарыңыз.

Жаңа рұқсат етілген қосылымда, нақты ресурсқа, сервер тексеруі әлі қосулы күйде нәтижені дәлелдеумен аяқтаңыз. Тек әлсіретілген сертификат тексеруімен жұмыс істейтін нәрсе кілт мәселесін түзетпеді — оны желі қабатына көшірді, онда ол кейінірек нашар симптомдармен шығады.

  • Үш тармақ: аутентификация қажет, тұрақты жарамсыз, провайдерде өтпелі.
  • Тек үшіншісі қайталаудан пайда көреді, және тек өзінің қайталау саясаты бойынша.
  • Ауыстырушы тіркелу қатынауды қалпына келтіреді; деректерді тазарту бұл мүмкіндікті алып тастайды.
  • Жаңа қосылыммен және қалыпты сервер идентификациясын тексерумен растаңыз.

Қатысты мақалалар