Pracuję w firmie, która produkuje kilka aplikacji, nie wszystkie te aplikacje mają ten sam podpis lub więcej, mamy na razie co najmniej 5-6 certyfikatów aplikacji.Android: sprawdź tożsamość intencyjnego nadawcy
Próbowaliśmy stworzyć mechanizm, w którym wszystkie aplikacje Companii na tym samym urządzeniu mają takie same funkcje, Na przykład, jeśli użytkownik zainstalował aplikację A z rynku i nie zainstalował żadnej aplikacji, zostanie wygenerowany nowy identyfikator, jeśli teraz instaluje aplikację A, aplikacja B powinna mieć ten sam identyfikator co aplikacja A (identyfikator to tylko wygenerowany typ UUID nr 4) itp.
Używamy transmisji w tej chwili i tylko aplikacje z naszą zgodą mogą odbierać to nadawać i odsyłać identyfikator z inną transmisją (tym razem wyraźnie). Transmisja i odpowiedzi są chronione za naszym pozwoleniem przy użyciu poziomu podpisu, co oczywiście nie pomaga, ponieważ mamy więcej niż jeden podpis.
Próbowałem napisać transmisję intencji i odzyskać, która może mieć swój własny mechanizm ochrony, który nie będzie ograniczony tylko do jednego podpisu, ale kilka, problem polega na tym, że rzeczy takie jak Binder.getSenderUID() nie działają dla transmisji i dostaję mój własny uid. Wygląda na to, że nie mam sposobu, aby uzyskać tożsamość mojego sndera, chyba że sam napisze swój identyfikator w intencji, której NIE jest czymś, co mogę zaufać, ponieważ może być łatwo sfałszowany. Korzystanie z szyfrowania wymaga, aby aplikacje zawierały klucz, który nie jest jeszcze raz zabezpieczony. Zwrócenie się do serwera w celu sprawdzenia poprawności zajmuje zbyt dużo czasu, a na urządzeniach mobilnych nie gwarantuje się sukcesu, ponieważ nie ma 100% pewności, że sieć jest podłączona.
Ktoś ma pojęcie, w jaki sposób można uzyskać potwierdzenie/bezpieczną wiadomość z jednej aplikacji do drugiej? (Wszystkie moje aplikacje, ale mogą mieć różne podpisy).
jest to hack, bnut to jest cholernie dobry, również Zakładam, że usługa musi być lokalny, jednak o ile wiem, BR powinien być coraz wiadomości z serwisu i wysłać go z powrotem lub wysłać do działania za pomocą intencji, nie jest przeznaczone do wiązania usługi ... tak, że ta metoda naprawdę łamie ideę BR ... – codeScriber