Potpisivanje koda za Android
U ovom članku ćete saznati kako da kodirate znak za Android (APK). Potrebno je da potpišete aplikaciju ako Android ste izabrali Android kao jednu od platformi tokom kreiranja i izrade vašeg projekta završetka.
Važno
Ako želite da umesto toga potpišete AAB aplikaciju za distribuciju u prodavnici Google Play, pogledajte članak Potpisivanje aplikacije.
Pripremite svoj računar
Za početak su vam potrebne sledeće informacije:
- Instalirajte Android Studio
- Instalirajte OpenSSL
Generišite ključeve
Napomena
Preskočite da biste potpisali APK paket ako ste već generisali ključeve i hash potpisa prilikom kreiranja registracije aplikacije.
Koristićemo keytool.exe (dostupno nakon instalacije paketa Android Studio, sa lokacije fascikle "Drive:\Program Files\Android\Android Studio\jre\bin\keytool.exe") da bismo kreirali certifikat za potpisivanje paketa aplikacija. Keytool se koristi za upravljanje skladištem (bazom podataka) ključeva za šifrovanje, X.509 lancima certifikata i pouzdanim certifikatima.
Da biste generisali ključ, otvorite komandnu liniju i pokrenite sledeću komandu:
keytool -genkey -alias SIGNATURE_ALIAS -keyalg RSA -keystore PATH_TO_KEYSTORE -keysize 2048 -validity 10000
Parametri:
- genkey – komanda za generisanje ključa.
- pseudonim- označava pseudonim koji će se ubuduće koristiti za upućivanje na stavku u kojoj se nalaze ključevi koji se generišu.
- keyalg – naziv algoritma ključa.
- keystore – naziv skladišta ključeva koje koristite.
- keysize – veličina svakog ključa koji treba generisati.
- validity – važenje ključa u broju dana.
Primer:
Ako pripremate Key Vault, PATH_TO_KEYSTORE da imate .pfx ekstenziju.
keytool -genkey -alias powerappswrap -keyalg RSA -keystore powerappswrap.pfx -keysize 2048 -validity 10000
Ako se pripremate za ručno potpisivanje, PATH_TO_KEYSTORE treba da ima oznaku tipa datoteke .jks.
keytool -genkey -alias powerappswrap -keyalg RSA -keystore powerappswrap.jks -keysize 2048 -validity 10000
Generisanje heša potpisa
Napomena
Preskočite da biste potpisali APK paket ako ste već generisali ključeve i hash potpisa prilikom kreiranja registracije aplikacije.
Nakon generisanja ključa, komanda exportcert se koristi u ključnoj reči za izvoz certifikata u ključnoj reči.
keytool -exportcert -alias SIGNATURE_ALIAS -keystore PATH_TO_KEYSTORE | openssl sha1 -binary | openssl base64
Parametri:
- exportcert – čita iz skladišta certifikat povezan sa pseudonimom i skladišti ga u cert_file datoteku. Kada nije navedena nijedna datoteka, certifikat izlazi u stdout.
- alias – pseudonim koji se koristi prilikom generisanja ključeva ranije.
- keystore – naziv skladišta ključeva koje koristite.
- openssl – generiše SHA1 ključ za Android.
Dodajte generisani hash potpisa u URI preusmeravanja tokom registracije aplikacije.
Ručno konvertovanje SHA1 heksadecimalne oznake u heš potpisa kodiran u Base64
Možda ćete videti sledeću grešku ako hash potpisa nije ispravno kodiran ili neprihvatljiv na Azure portalu:
„Heš potpisa mora biti Base64 kodirani SHA1.“
Kada se pojavi ova greška, pokušajte da generišete heš potpisa koristeći sledeće korake:
- Pokrenite
keytool -list -v -alias SIGNATURE_ALIAS -keystore PATH_TO_KEYSTORE
da biste listali informacije o certifikatu u režimu detaljnog prikaza. - Kopirajte vrednost SHA1 ispod odeljka Otisci certifikata iz izlaza. Uverite se da kopirate samo heksadecimalnu vrednost.
Na primer:EF:11:45:3D:F1:72:D9:8C:43:32:CD:0A:49:C2:E4:75:2D:B3:2D:9F
- Koristite bilo koji raspoloživi konvertor tipa „Heksadecimalno u Base64“ da biste konvertovali kopiranu heksadecimalnu vrednost otiska certifikata u Base64 kodiranu vrednost.
Primer Base64 kodirane vrednosti:8CPPeLaz9etdqQyaQubcqsy2Tw=
- Kopirajte generisanu base64 kodiranu vrednost kao hash potpisa na Azure portalu dok registrujete aplikaciju.
Potpišite APK paket
Da bismo potpisali APK paket, koristićemo alatku apksigner. Ova alatka vam omogućava da potpišete APK i uverite se da je potpis APK paketa uspešno verifikovan na svim Android platformama koje podržavaju APK.
Pronađite svoj apksigner
Proverite putanju za Android SDK u programu Android Studio.
Izaberite Alat > Menadžer SDK > Lokacija Android SDK.
Ako koristite iOS, pogledajte datoteku apksignera iz direktorijuma buildTools Version :
Idite u direktorijum SDK > build-tools > buildToolsVersion > lib i proverite datoteku apksigner.jar
Korišćenje apksigner datoteke
Pokrenite sledeću komandu da biste koristili apksigner i potpisali paket:
apksigner.bat sign --ks PATH_TO_KEYSTORE --ks-key-alias KEY_ALIAS PATH_TO_APK
Parametri:
- ks – putanja do skladišta ključeva.
- ks-key-alias – putanja pseudonima ključa do APK datoteke.
Kada se od vas zatraži, unesite lozinku.
Još informacija: Android Studio alati komandne linije: apksigner
Distribuiranje aplikacije
Paket možete da hostujete u distributivnom servisu kao što je App Center. Da biste distribuirali pomoću programa Microsoft Intune, pogledajte Dodavanje Android poslovne aplikacije u Microsoft Intune. Da biste saznali više o davanju pristupa aplikaciji za uslugu zaštite aplikacije Intune, pogledajte članak Davanje pristupa za aplikaciju usluzi zaštite aplikacija Intune.
Pogledajte i ovo
Povratne informacije
https://aka.ms/ContentUserFeedback.
Stiže uskoro: Tokom 2024. godine postepeno ćemo ukidati probleme sa uslugom GitHub kao mehanizam povratnih informacija za sadržaj i zameniti ga novim sistemom povratnih informacija. Dodatne informacije potražite u članku:Prosledite i prikažite povratne informacije za