2014-10-07 21 views
6

Ostatnio dostałem maila od Google:alert bezpieczeństwa: App zawiera wbudowane kluczy prywatnych i plików magazynu kluczy

To jest powiadomienie, że aplikacja (s) com.myapp, zawiera jeden lub więcej prywatnych kluczy lub kluczy pliki osadzone w opublikowanym pliku APK jako wymienione na końcu tego e-maila. Te elementy osadzone są dostępne dla stron trzecich, które mogą wywoływać różne problemy związane z zabezpieczeniami w zależności od tego, do czego klucz jest używany. Na przykład, jeśli klucz prywatny jest kluczem podpisu dla Twojej aplikacji, trzecia strona może podpisać i rozpowszechniać aplikacje, które zastępują twoje autentyczne aplikacje lub je uszkodzić. Taka strona może również podpisywać i rozpowszechniać aplikacje pod własną tożsamością.

Jako ogólną praktykę bezpieczeństwa, zdecydowanie zalecamy, aby nie umieszczać prywatnych kluczy ani plików kluczy w aplikacjach, nawet jeśli klucze są chronione hasłem lub zaciemniane. Najbardziej skutecznym sposobem ochrony klucza prywatnego i plików magazynu kluczy jest ich nie rozpowszechnianie.

Usuń najwcześniejsze prywatne klucze i pliki magazynu kluczy z aplikacji pod numerem . Każda aplikacja jest inna, ale jeśli nie masz pewności, jak zlokalizować klucze i pliki magazynu kluczy w swojej aplikacji, możesz spróbować wyszukać pliki z rozszerzeniem pliku "keystore" i grepping dla "PRIVATE KEY". Aby uzyskać więcej informacji o zabezpieczaniu klucza, , zobacz https://developer.android.com/tools/publishing/app-signing.html.

Użytkownik ponosi odpowiedzialność jako programista w celu zabezpieczenia swojego klucza prywatnego przez cały czas. Należy pamiętać, że chociaż nie jest jasne, czy te szczególne problemy mają wpływ na aplikację, aplikacje o lukach w zabezpieczeniach , które narażają użytkowników na ryzyko naruszenia bezpieczeństwa, mogą być uznane za "niebezpieczne produkty" i mogą zostać usunięte z Google Play.

Aby sprawdzić, czy kolejne wersje aplikacji zawierają klucze prywatne, , zobacz sekcję Alerty w konsoli programisty Google Play pod adresem https://play.google.com/apps/publish/#AlertsPlace.

Dotknięte aplikacje i próbki wbudowanych elementów: repack/org/BouncyCastle/openssl/test/data/DSA/openssl_dsa_aes128_cbc.pem repack/org/BouncyCastle/openssl/test/data/DSA/openssl_dsa_aes128_cfb.pem repack /org/bouncycastle/openssl/test/data/dsa/openssl_dsa_aes128_ecb.pem Repack/org/bouncycastle/openssl/test/dane/DSA/openssl_dsa_aes128_ofb.pem Repack/org/bouncycastle/openssl/test/dane/DSA/openssl_dsa_aes192_cbc .pem

Używam biblioteki (plik JAR), która zawiera powyższe pliki .pem. Te pliki mają słowo kluczowe "KLAWISZ PRYWATNY". Nie ujawniam mojego klucza prywatnego ani magazynu kluczy w żadnym miejscu pakietu APK. Co mogę zrobić, aby rozwiązać ten problem? Jaką zmianę wprowadzam w pliku JAR lub pliku APK aplikacji? Proszę o pomoc.

Odpowiedz

4

mam bardzo podobną wiadomość od Google już w odniesieniu do tego. Po śledztwie znalazłem te same pliki, które wymieniliście w jednym z moich słoików. Rozwiązałem ten problem, usuwając cały folder openssl ze słoika za pomocą następującego polecenia konsoli.

zip --delete AFFECTEDJAR.jar "repack/org/bouncycastle/openssl/*" 

Sugerowałbym sprawdzenie, czy w tym folderze nie ma klasyfikacji java, zanim to uruchomisz. W moim przypadku nie było nic oprócz danych testowych.

Mam nadzieję, że to pomoże.

+0

zrobiłem to samo. Zawierał pliki .class. Zostawiłem te pliki i usunąłem resztę. Miejmy nadzieję, że Google to zaakceptuje. – varun

+0

czy zaakceptowali twoją modyfikację? Mam do czynienia z tym samym problemem –

+0

@ ghostrider3 Tak po wydaniu aktualizacji bez tych plików alert odrzucił się – drspaceboo

0

Jest bardzo prawdopodobne, że nie potrzebujesz tych plików w aplikacji. Po prostu usuń je z procesu eksportu, gdy zwalniasz aplikację. Zakładam, że są one bezpośrednio w projekcie, aby ułatwić omijanie aplikacji i utrzymywanie ich w pobliżu projektu.

Jeśli jest to przypadek, po prostu przenieść magazynów kluczy poza pakietem i odwoływać się do nich z oddzielną bezpośrednio, gdy są potrzebne, tak że nie są one pakowane w.