Android developer mówi po około przechowywania aplikacji klucza publicznego w projekcie:Zalecenia dotyczące bezpieczeństwa w aplikacji na Androida - co to oznacza?
Bezpieczeństwo Zalecenia: Zaleca się, że nie ciężko kodu dokładną licencji publicznej kluczową wartość ciągu przewidzianych przez Google Play. Zamiast tego możesz skonstruować cały publiczny klucz licencyjny w czasie wykonywania z podciągów lub pobrać go z zaszyfrowanego magazynu , zanim przekażesz go do konstruktora. Takie podejście utrudnia złośliwym firmom trzecim modyfikowanie publicznego klucza klucza licencyjnego w pliku APK.
Czy powinno to być oczywiste? Nie rozumiem, co chcą, żebym zrobił.
Mówią to samo w komentarzach do przykładu, ale co do cholery nie pokazują, co mają na myśli przez ich instrukcje. Oto co mówi:
Zamiast przechowywania całą ciągiem znaków tu osadzony w program * skonstruować klawisza w czasie wykonywania z kawałków lub * użycie bitowej manipulacji (np XOR z innego łańcucha), aby ukryć * właściwy klucz. Klucz sam w sobie nie jest tajną informacją, ale nie chcemy, aby atakujący zamienił klucz publiczny na własny *, a następnie podrobił wiadomości z serwera.
Jak dokładnie może to zrobić osoba?
Więc google sugeruje: "Zamiast tego można skonstruować cały publiczny ciąg klucza licencyjnego w czasie wykonywania z podciągów lub pobrać go z zaszyfrowanego sklepu", Czy odzyskuje się je z serwera "odzyskać z zaszyfrowanego sklepu"? I jaki jest bezpieczny sposób na skonstruowanie go w czasie wykonywania ze stringów zgodnie z opisem? –
Przenieś całą logikę weryfikacji transakcji na swój serwer i użyj protokołu HTTPS, aby się z nią połączyć. – skygeek
i do transformacji łańcuchów musisz zaimplementować własną logikę lub zaktualizowaną odpowiedź. – skygeek