Androidi rakenduse (APK) allkirja kontrollimise saate Xposed Frameworki abil hõlpsalt keelata, kuid enamikul juhtudel ei tohiks te seda teha.
Kui olete kunagi proovinud süsteemirakendust muuta ja uuesti installida, olete tõenäoliselt kohanud rakenduse allkirjade kontrollimist ühel või teisel kujul. Kas eemaldasite enne jätkamist algse rakenduse või andsite muudetud APK-le teise paketi nime, et see installitaks ilma vana rakendust eemaldamata. Ja mõlemal juhul tuli rakendus ise uuesti allkirjastada, et see üldse installida.
Saate kõigist nendest käitumistest mööda hiilida, kui keelate ajutiselt rakenduse allkirjakontrolli. Kuid enne, kui asume selle artikli metafoorilise liha ja kartuli juurde ning ütleme teile, kuidas seda teha, On oluline, et räägiksime veidi rakenduste allkirjade kontrollimisest, sellest, mida need teevad ja miks teie peaks mitte kunagi enamikul juhtudel eemaldage need.
Androidi allkirja kinnitamise põhitõed
Vaikimisi nõuab Android OS kõik rakendused, mis tuleb installimiseks allkirjastada. Väga lihtsas mõttes tähendab see seda, et rakenduse allkirja kasutatakse rakenduse autori tuvastamiseks (
st. kontrollida selle legitiimsust), samuti luua usaldussuhted sama allkirjaga rakenduste vahel. Esimesega olete kindel (mõistlikul määral), et kehtiva allkirjaga rakendus pärineb oodatud arendajatelt. Ja viimase kaudu võivad sama privaatvõtmega allkirjastatud rakendused töötada samas protsessis ja jagada privaatseid andmeid. Kui installite rakenduse värskenduse, kontrollib Android OS seda allkirja veendumaks, et: A) APK pole rikutud selle allkirjastamisest möödunud aja jooksul ja B) rakenduse sertifikaat ühtib praegu installitud sertifikaadiga versioon.Niisiis, kuidas see kõik mind pärismaailmas mõjutab? See on lihtne, tõesti. Kui hankite APK väljastpoolt Google Play poodi ja proovite seda installida oma praegu installitud rakenduse värskendusena (lugege: sama paketinimi), proovib OS kinnitada rakenduse sertifikaati, et veenduda, et see pärineb samast initsiaalist arendajad. Kui sertifikaat ühtib, jätkub rakenduse installimine plaanipäraselt, teie rakendus säilitab oma olemasolevad andmed ja kõik on kaste. Kui allkiri ei kehti (näitab, et APK-d on rikutud) või kui sertifikaat ei ühti algse rakenduse omaga, siis installimine nurjub. Ja nagu varem öeldud, kattub rakenduse sertifikaat ainult siis, kui see on allkirjastatud sama privaatvõtmega, mida kasutati eelmise versiooni allkirjastamiseks. Teisisõnu saate installida rakenduse ainult siis, kui sellel on kehtiv allkiri, mis ühtib APK-ga sisu ja saate värskenduse installida ainult siis, kui selle sertifikaat ühtib ka varasemas versioonis leiduva sertifikaadiga rakendusest.
[Humoorikas kõrvalepõikeks selles muidu tihedas artiklis on üks väga avalik näide, kus privaatrakenduse allkirjastamisvõti läks kaduma või sai ohtu. Pean silmas loomulikult Google'i enda rakendust Authenticator, mis sai värskenduse, mis muutis selle paketi nime com.google.android.apps.authenticator juurde com.google.android.apps.authenticator2 uuenduses umbes kaks aastat tagasi. Selle muudatuse tõttu sai kõiki järgnevaid rakenduse Authenticator värskendusi väljastada ainult uue paketinime all – uue allkirjaga, mille genereerib uus privaatne allkirjastamisvõti.]
Miks soovite allkirja kinnitamise (ajutiselt) keelata
Vaatame nüüd võimalikku stsenaariumi, mille puhul sooviksime ajutiselt rakenduse allkirja kontrollimise keelata. Nagu selle artikli alguses mainitud, võib allkirjade kontrollimine olemasolevate süsteemirakenduste muutmisel veidi peavalu valmistada. Kui installite süsteemirakenduse muudetud versiooni, ei saa te rakendust kehtiva ja vastava sertifikaadiga allkirjastada. Sellistel juhtudel soovite tavaliselt esmalt eemaldada olemasoleva rakenduse ja seejärel installida muudetud versiooni nagu tavaliselt. Võite ka allkirja kinnitamise keelata, kuid parem (ja turvalisem) on jätta allkirja kinnitamine sisse lülitatuks ja lihtsalt eemaldada vana versioon, et uus saaks installida. See võib aga muutuda probleemiks, kui rakenduses, mida proovite asendada, on andmeid, mida te pigem ei kaota. Kindlasti on võimalusi andmete käsitsi juurjuurdepääsu abil säilitamiseks ja selle uude versiooni siirdamiseks rakendus, kuid kasutajad võivad soovida ka lihtsalt allkirja kinnitamise ajutiselt keelata ja seejärel kontrollimist jätkata pärast. Teise võimalusena, nagu märkis XDA vanemliige mcbyte_it kommentaarides võib see olla kasulik ka rakenduste arendamisel.
Kuidas seda teha
Siiani on allkirja kontrollimise keelamine olnud kohutav lahendus peaaegu igale probleemile. Seda seetõttu, et seda tehes viskate sisuliselt minema Androidi sisseehitatud kaitse, mis tagab selle et teie rakendusi pole rikutud ja et nende värskendused pärinevad originaalist arendajad. Kuid nüüd saate tänu Xposed Frameworki võludele ajutiselt allkirja kinnitamise keelata ja uuesti lubada, kui olete muudetud rakenduse installimise lõpetanud. Üks selline Xposed moodul mis suudab täpselt seda teha, avaldas hiljuti XDA vanemliige pylerja see töötab plaanipäraselt kõigi Xposedi käitamiseks võimeliste seadmete puhul. Kui soovite installida muudetud rakenduse värskenduse, mis pole korralikult allkirjastatud, saate lihtsalt lubage moodul, taaskäivitage, installige muudetud rakenduse värskendus, keelake moodul, taaskäivitage ja olge rõõmsad tee.
Nüüd, kui teate, kuidas allkirja kinnitamist ajutiselt keelata, on oluline korrata, kui oluline on see on jätta allkirja kinnitamine alati sisse lülitatuks, välja arvatud juhul, kui teil on keelamiseks väga-väga mõjuv põhjus seda. Seetõttu peaksite sellist tööriista kasutama ainult enda loodud rakenduse värskenduste rakendamiseks ja millal on kergendavaid asjaolusid, mis nõuavad seda, mitte lihtsalt vana rakenduse desinstallimist.
Olge ohutu ja kasutage seda mõistlikult.