Cieszę się że przynajmniej dużo czytasz bo to dobra podstawa. To pokrótce powtórzę ci to co cytujesz odnośnie weryfikacji bo niewiele osób to rozumie. Plik apk jest podpisany i weryfikacja potwierdza że zawartość apk (pliki binarne) są zgodne z podpisem - czyli że np. ktoś nie dorzucił swoich plików albo swojego kodu do środka.
I teraz popatrz na to co jest w podpisie - jeżeli aplikację napisało Whisper Systems to w podpisie mamy:
Owner: CN=Whisper Systems, OU=Research and Development, O=Whisper Systems, L=Pittsburgh, ST=PA, C=US
Issuer: CN=Whisper Systems, OU=Research and Development, O=Whisper Systems, L=Pittsburgh, ST=PA, C=US
I jeśli wejdziemy na stronę whisper systems możemy zweryfikować podpis apk z kluczem publicznym whisper systems bo mamy z osobnego zaufanego źródła klucz publiczny.
Teraz uwaga - haker kowalski może napisać wirusa, zapakować go do pliku apk i podpisać go podpisem w którym napisze: CN=Whisper Systems, OU=… O=…. i wrzucić ten wirus na dowolną stronę
Jeżeli nie porównasz podpisu aplikacji z niezależnym kluczem to nici z pełnej weryfikacji. To trochę tak jak dawniej bank prosił klientów na papierze o "wzór podpisu" i z tym wzorem były porównywane dokumenty podpisywane przez klienta. Jeśli klient Nowak podpisał się inaczej niż na wzorze - dokument był odrzucany jako "niezgodny z wzorem podpisu".
Więc zgodnie z opisem linka który podałeś - jeśli przyjdzie do banku klient i podpisze się na umowie kredytu "Wincenty" to bank powinien go wziąć za Ciebie.
Dlaczego się uparłem tego GP. Wyobraź sobie że napisałeś testament i podpisałeś go "Wincenty" a następnie zaniosłeś go do prawnika. Teraz prawnik pokazuje go rodzinie - jest cały testament i podpis "prawnik Wesołowski". Skąd rodzina może wiedzieć że faktycznie ty jesteś autorem? Albo przynosi do banku umowę kredytu była żona Janusza z dokumentem podpisanym "żona Janusza". Dlaczego bank miałby przyjąć taką umowę że podpisał ją niby Janusz?
I teraz przechodząc do konkretów - czy miałeś przyjemność generować certyfikaty X.509? Albo czy wiesz czym się różni weryfikacja certyfikatu self-signed od np. weryfikowaniu certyfikatu strony forum.android.com.pl przez przeglądarkę i czy umiesz wskazać różnicę między certyfikatami SSL i apk?