Bezpieczeństwo
Ta tabela zawiera listę wszystkich artefaktów w grupie androidx.security
.
Artefakt | Wersja stabilna | Wersja kandydująca do publikacji | Wersja Beta | Wersja alfa |
---|---|---|---|---|
security-crypto | 1.0.0 | 1.1.0-rc01 | - | - |
security-app-authenticator | - | 1.0.0-rc01 | - | - |
security-app-authenticator-testing | - | 1.0.0-rc01 | - | - |
security-identity-credential | - | - | - | 1.0.0-alpha03 |
Deklarowanie zależności
Aby dodać zależność od biblioteki Security, musisz dodać repozytorium Google Maven do projektu. Więcej informacji znajdziesz w repozytorium Maven Google.
Dodaj zależności dotyczące potrzebnych artefaktów w pliku build.gradle
aplikacji lub modułu:
Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.
Opinia
Twoja opinia pomoże nam ulepszyć Jetpacka. Jeśli odkryjesz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nową kartę, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz dodać swój głos do istniejącego problemu, klikając przycisk gwiazdki.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Security-State Version 1.0.0
Wersja 1.0.0-beta01
26 lutego 2025 r.
Zostanie wycofaneandroidx.security:security-state:1.0.0-beta01
Wersja 1.0.0-beta01 zawiera te zmiany.
Poprawki błędów
- Rozwiązaliśmy problem, który uniemożliwiał
getPatchedCves()
zwracanie załatanych luk CVE w przypadkuCOMPONENT_SYSTEM_MODULES
. (Ice5e2)
Wersja 1.0.0-alpha05
29 stycznia 2025 r.
Zostanie wycofaneandroidx.security:security-state:1.0.0-alpha05
Wersja 1.0.0-alpha05 zawiera te commity.
Nowe funkcje
- Nazwy pakietów domyślnych modułów systemowych zostały dodane do pliku manifestu biblioteki, aby umożliwić aplikacjom klienckim uzyskiwanie poziomu SPL urządzenia dla modułów systemowych. (Ic259c)
Zmiany w interfejsie API
- Zmieniliśmy nazwę
SecurityStateManager
naSecurityStateManagerCompat
, dodaliśmy dodatkową dokumentację dotyczącą publicznych właściwości i funkcji oraz przekształciliśmygetComponentSecurityPatchLevel
igetVulnerabilityReportUrl
w metody statyczne. (I44a0c) - Funkcja aktualizacji dostępności (metody
listAvailableUpdates()
igetAvailableSecurityPatchLevel()
) została tymczasowo usunięta z interfejsu API. Planujemy przywrócić ją w przyszłej aktualizacji biblioteki. (Idbc5e) - Dostęp do interfejsu Vendor SPL jest teraz chroniony przez flagę czasu kompilacji, która jest domyślnie wyłączona do czasu przyszłej aktualizacji biblioteki. (I45b58)
getGlobalSecurityState()
zwraca teraz globalny stan bezpieczeństwa z usługi systemowej w przypadku pakietu SDK w wersji 35 lub nowszej. (I7b9da)
Poprawki błędów
- Naprawiliśmy błąd powodujący awarię podczas próby uzyskania opublikowanego poziomu SPL dla jądra w starszych wersjach Androida, w których opublikowane wersje LTS jądra są niedostępne. (I93dff)
Wersja 1.0.0-alpha04
7 sierpnia 2024 r.
Zostanie wycofaneandroidx.security:security-state:1.0.0-alpha04
Wersja 1.0.0-alpha04 zawiera te zmiany.
Uwagi
- Zaktualizuj
compileSdk
do 35 5dc41be
Zmiany w interfejsie API
- Zmiana powodująca niezgodność: wyliczenie komponentu zostało zastąpione stałymi ciągami znaków, aby zwiększyć możliwości rozbudowy. (Ia3283)
Wersja 1.0.0-alpha03
10 lipca 2024 r.
Zostanie wycofaneandroidx.security:security-state:1.0.0-alpha03
Wersja 1.0.0-alpha03 zawiera te commity.
Poprawki błędów
- Poprawki wzorca ASB-A- w przypadku błędów w biuletynie zabezpieczeń Androida, analizowanie JSON-a w przypadku dodatkowych komponentów i
Webview
pobieranie pakietów. (Ide86a)
Wersja 1.0.0-alpha02
26 czerwca 2024 r.
Zostanie wycofaneandroidx.security:security-state:1.0.0-alpha02
Wersja 1.0.0-alpha02 zawiera te zmiany.
Poprawki błędów
- Naprawiliśmy logikę pobierania wersji jądra. (I5602a)
Wersja 1.0.0-alpha01
12 czerwca 2024 r.
Zostanie wycofaneandroidx.security:security-state:1.0.0-alpha01
Wersja 1.0.0-alpha01 zawiera te zmiany.
Nowe funkcje
- Security State to nowa biblioteka, której deweloperzy mogą używać do uzyskiwania przydatnych danych o wersjach komponentów systemowych, które można aktualizować, aktualizacjach zabezpieczeń i zastosowanych poprawkach.
Security-App-Authenticator-Testing Version 1.0.0
Wersja 1.0.0-rc01
20 maja 2025 r.
androidx.security:security-app-authenticator:1.0.0-rc01
i androidx.security:security-app-authenticator-testing:1.0.0-rc01
zostały opublikowane. Wersja 1.0.0-rc01 zawiera te commity.
Wersja 1.0.0-beta01
6 marca 2024 roku
androidx.security:security-app-authenticator:1.0.0-beta01
i androidx.security:security-app-authenticator-testing:1.0.0-beta01
zostały opublikowane. Wersja 1.0.0-beta01 zawiera te zmiany.
Wersja 1.0.0-alpha02
13 grudnia 2023 r.
Zostanie wycofaneandroidx.security:security-app-authenticator-testing:1.0.0-alpha02
Wersja 1.0.0-alpha02 zawiera te zmiany.
Poprawki błędów
- Zaktualizowany test nowego zachowania interfejsu API, który nie zakłada już wartości
Binder#getCalling[Uid|Pid]
, gdy nie jest ona podana w interfejsach API[check|enforce]CallingAppIdentity
. (I1851b)
Wersja 1.0.0-alpha01
2 czerwca 2021 r.
Zostanie wycofaneandroidx.security:security-app-authenticator-testing:1.0.0-alpha01
Wersja 1.0.0-alpha01 zawiera te zmiany.
Nowe funkcje
Ta biblioteka testowa udostępnia narzędzie do tworzenia, za pomocą którego można skonfigurować wstrzykiwalny obiekt AppAuthenticator, aby spełniał wymagania testu. Ta biblioteka obsługuje kilka metod konfigurowania AppAuthenticator:
- Można określić ogólną zasadę testowania, która zgłasza dopasowanie podpisu w przypadku wszystkich pakietów zadeklarowanych w konfiguracji.
- Można określić, że poszczególne pakiety mają zwracać dopasowanie podpisu, a wszystkie inne pakiety mają zgłaszać brak dopasowania.
- Dla każdego pakietu można ustawić jawne tożsamości podpisywania. W takim przypadku obiekt AppAuthenticator będzie zgłaszać zgodność podpisu tylko wtedy, gdy podana tożsamość będzie zgodna z deklaracją w pliku konfiguracyjnym.
- Pakiety mogą być też traktowane jako niezainstalowane lub mające jawny identyfikator UID.
Security-App-Authenticator w wersji 1.0.0
Wersja 1.0.0-rc01
20 maja 2025 r.
androidx.security:security-app-authenticator:1.0.0-rc01
i androidx.security:security-app-authenticator-testing:1.0.0-rc01
zostały opublikowane. Wersja 1.0.0-rc01 zawiera te commity.
Wersja 1.0.0-beta01
6 marca 2024 roku
androidx.security:security-app-authenticator:1.0.0-beta01
i androidx.security:security-app-authenticator-testing:1.0.0-beta01
zostały opublikowane. Wersja 1.0.0-beta01 zawiera te zmiany.
Wersja 1.0.0-alpha03
13 grudnia 2023 r.
Zostanie wycofaneandroidx.security:security-app-authenticator:1.0.0-alpha03
Wersja 1.0.0-alpha03 zawiera te zmiany.
Zmiany w interfejsie API
- Dodaliśmy obsługę przypadków użycia, w których identyfikator UID lub PID pakietu do zweryfikowania jest niedostępny. Interfejsy API obsługują teraz przypadki takie jak
startActivityForResult
i aktywności lub odbiorniki, w których tożsamość aplikacji wywołującej jest udostępniana za pomocą[Activity|Broadcast]Options#setShareIdentityEnabled
. - Działanie funkcji
[check|enforce]CallingAppIdentity(String, String)
zostało zaktualizowane, aby obsługiwać te nowe przypadki użycia. Te metody nie będą już domyślnie używać funkcjiBinder#getCalling[Uid|Pid]
, ale zamiast tego będą pomijać weryfikację identyfikatora UID pakietu wywołującego, jeśli nie zostanie on wyraźnie podany. (I1851b)
Wersja 1.0.0-alpha02
2 czerwca 2021 r.
Zostanie wycofaneandroidx.security:security-app-authenticator:1.0.0-alpha02
Wersja 1.0.0-alpha02 zawiera te zmiany.
Zmiany w interfejsie API
- W ramach przygotowań do obsługi nowego flagi ochrony uprawnień
knownSigner
wprowadzonej w Androidzie 12 atrybut digestAlgorithm nie może być już określany w konfiguracji. Zamiast tego wszystkie skróty certyfikatów powinny być obliczane przy użyciu algorytmu SHA-256.
Poprawki błędów
- Wszystkie skróty certyfikatów podane w konfiguracji są teraz normalizowane, aby można było zgłosić udane dopasowanie podpisu zarówno wtedy, gdy skrót jest obliczany w czasie działania, jak i wtedy, gdy podczas korzystania z biblioteki testowej jest zdefiniowana jawna tożsamość podpisywania.
Wersja 1.0.0-alpha01
5 maja 2021 roku
Zostanie wycofaneandroidx.security:security-app-authenticator:1.0.0-alpha01
Wersja 1.0.0-alpha01 zawiera te zmiany.
Nowe funkcje
AppAuthenticator to nowa biblioteka, która ma uprościć weryfikację zaufania do aplikacji na podstawie tożsamości podpisu. Aplikacja musi tylko określić plik konfiguracji XML zawierający nazwy pakietów i tożsamości podpisywania zaufanych aplikacji, a biblioteka zajmie się weryfikacją tożsamości podpisywania aplikacji w czasie działania.
Security-Identity-Credential w wersji 1.0.0
Wersja 1.0.0-alpha03
1 września 2021 roku
Zostanie wycofaneandroidx.security:security-identity-credential:1.0.0-alpha03
Wersja 1.0.0-alpha03 zawiera te zmiany.
Nowe funkcje
- Dodaliśmy obsługę funkcji poświadczeń tożsamości opartych na sprzęcie w Androidzie 12.
Wersja 1.0.0-alpha02
24 lutego 2021 r.
Zostanie wycofaneandroidx.security:security-identity-credential:1.0.0-alpha02
Wersja 1.0.0-alpha02 zawiera te zmiany.
Poprawki błędów
- Aktualizacja interfejsu Identity Credential API zgodnie z planami dotyczącymi Androida 12 (Iff83e)
Wersja 1.0.0-alpha01
19 sierpnia 2020 r.
Zostanie wycofaneandroidx.security:security-identity-credential:1.0.0-alpha01
Wersja 1.0.0-alpha01 zawiera te zmiany.
Nowe funkcje
Ta wersja Jetpacka zawiera wersję interfejsów Identity Credential API, które zostały dodane do Androida 11 i API na poziomie 30. Jeśli aplikacja działa na Androidzie 11, a urządzenie obsługuje tożsamość wspieraną sprzętowo, ta biblioteka Jetpack po prostu przekazuje wywołania do interfejsu API platformy. W przeciwnym razie używana będzie implementacja oparta na Android Keystore. Implementacja oparta na usłudze Keystore w Androidzie nie zapewnia takiego samego poziomu bezpieczeństwa i prywatności, ale w przypadku, gdy wszystkie dane są podpisane przez wydawcę, jest w pełni wystarczająca zarówno dla posiadaczy, jak i wydawców. Ta biblioteka wymaga poziomu API 24 lub nowszego.
Interfejsy Identity Credential API zapewniają interfejs do bezpiecznego magazynu dokumentów tożsamości użytkownika. Te interfejsy API są celowo dość ogólne i abstrakcyjne. W miarę możliwości specyfikacja formatów wiadomości i semantyki komunikacji z urządzeniami do weryfikacji poświadczeń i instytucjami wydającymi (IAs) wykracza poza zakres tych interfejsów API. Struktury danych, od których zależą interfejsy API, są zgodne ze strukturami danych w standardzie ISO/IEC IS 18013-5 Personal identification – ISO-compliant driving licence – Part 5: Mobile driving licence (mDL) application, który wkrótce zostanie opublikowany.
Zmiany w interfejsie API
- Dodano Jetpack do danych logowania tożsamości. (Icf90b)
Security-Crypto w wersji 1.1.0
Wersja 1.1.0-rc01
2 lipca 2025 r.
androidx.security:security-crypto:1.1.0-rc01
i androidx.security:security-crypto-ktx:1.1.0-rc01
zostały opublikowane. Wersja 1.1.0-rc01 zawiera te zmiany.
Wersja 1.1.0-beta01
4 czerwca 2025 r.
androidx.security:security-crypto:1.1.0-beta01
i androidx.security:security-crypto-ktx:1.1.0-beta01
zostały opublikowane. Wersja 1.1.0-beta01 zawiera te zmiany.
Zmiany w interfejsie API
- Wycofaliśmy wszystkie interfejsy API na rzecz istniejących interfejsów API platformy i bezpośredniego korzystania z Android Keystore.
Wersja 1.1.0-alpha07
9 kwietnia 2025 r.
androidx.security:security-crypto:1.1.0-alpha07
i androidx.security:security-crypto-ktx:1.1.0-alpha07
zostały opublikowane. Wersja 1.1.0-alpha07 zawiera te zmiany.
Zmiany w interfejsie API
- Wycofaliśmy wszystkie interfejsy API na rzecz istniejących interfejsów API platformy i bezpośredniego korzystania z Android Keystore.
Wersja 1.1.0-alpha06
19 kwietnia 2023 r.
androidx.security:security-crypto:1.1.0-alpha06
i androidx.security:security-crypto-ktx:1.1.0-alpha06
zostały opublikowane. Wersja 1.1.0-alpha06 zawiera te zmiany.
Nowe funkcje
- Zaktualizowano zależność Tink do wersji 1.8.0
Wersja 1.1.0-alpha05
22 lutego 2023 roku
androidx.security:security-crypto:1.1.0-alpha05
i androidx.security:security-crypto-ktx:1.1.0-alpha05
zostały opublikowane. Wersja 1.1.0-alpha05 zawiera te zmiany.
Poprawki błędów
- Usunięto błąd wyścigu w
MasterKeys.getOrCreate
(I3391e, b/268572037)
Wersja 1.1.0-alpha04
9 listopada 2022 r.
androidx.security:security-crypto:1.1.0-alpha04
i androidx.security:security-crypto-ktx:1.1.0-alpha04
zostały opublikowane. Wersja 1.1.0-alpha04 zawiera te zmiany.
Nowe funkcje
- Usunięto komunikat dziennika „keyset not found, will generate a new one” (nie znaleziono zestawu kluczy, zostanie wygenerowany nowy) przy pierwszym uruchomieniu aplikacji. (b/185219606)
- Zaktualizowano zależność Tink do wersji 1.7.0.
Zmiany w interfejsie API
- Zmiany
EncryptedFile#openFileInput()
, aby zgłaszaćFileNotFoundException
zamiast ogólnegoIOException
, gdy żądany plik nie istnieje. (I80e41, b/148804719) - Zaktualizowano klasę „MasterKeys”, aby wymagała Androida M zamiast każdej z jej metod. (I8b4b8)
- Zmienia wszystkie funkcje pobierające preferencje w
EncryptedSharedPreferences
(np.#getString
,#getInt
) tak, aby w rzadkich przypadkach, gdy typu wartości nie można dopasować do jednego ze zdefiniowanych wariantów wyliczenia, zgłaszały wyjątekSecurityException
. (b/241699427)
Poprawki błędów
- Zsynchronizowano minimalną wersję pakietu SDK biblioteki security-crypto-ktx z biblioteką security-crypto, obniżając ją do wersji 21 (b/193550375).
- Naprawiono błąd współbieżności podczas tworzenia wielu
EncryptedFile
(b/136590547)
Wkład zewnętrzny
- Otrzymano poprawkę do
EncryptedSharedPreferences.Editor#remove
od chr.ibbotson@gmail.com (b/224994760, b/134197835, f44d44d)
Security-Crypto-Ktx w wersji 1.1.0-alpha03
18 maja 2021 r.
Zostanie wycofaneandroidx.security:security-crypto-ktx:1.1.0-alpha03
Wersja 1.1.0-alpha03 zawiera te zmiany.
Zaktualizowano, aby pasowało do androidx.security:security-crypto:1.1.0-alpha03
.
Wersja 1.1.0-alpha03
2 grudnia 2020 r.
Zostanie wycofaneandroidx.security:security-crypto:1.1.0-alpha03
Wersja 1.1.0-alpha03 zawiera te zmiany.
Nowe funkcje
- Aktualizacja biblioteki Tink do wersji stabilnej
1.5.0
Wersja 1.1.0-alpha02
5 sierpnia 2020 r.
androidx.security:security-crypto:1.1.0-alpha02
i androidx.security:security-crypto-ktx:1.1.0-alpha02
zostały opublikowane. Wersja 1.1.0-alpha02 zawiera te zmiany.
Nowe funkcje
- Aktualizacja biblioteki Tink do wersji stabilnej
1.4.0
Poprawki błędów
- Aktualizacja Tink powinna rozwiązać problemy z R8 i Proguardem związane z zacienioną zależnością Protobuf.
- Aktualizacja Tink powinna prawidłowo obsługiwać błędy współbieżności AndroidKeyStore.
Wkład zewnętrzny
- wyczyść
mKeysChanged
po zastosowaniu, poprawka dla EncryptedSharedPreferences (aosp/1323026)
Wersja 1.1.0-alpha01
10 czerwca 2020 r.
Zostanie wycofaneandroidx.security:security-crypto:1.1.0-alpha01
Wersja 1.1.0-alpha01 zawiera te zmiany.
Nowe funkcje
- Obsługiwany jest teraz Lollipop (poziom API 21 i nowsze). Pamiętaj, że w przypadku interfejsów API w wersjach 21 i 22 nie jest używany AndroidKeyStore. (I7c12d, b/132325342)
- Nowa klasa MasterKey zapewnia więcej opcji kluczy, a także wycofuje MasterKeys, aby obsługiwać nowe funkcje i wersje Androida, które nie mają KeyGenParamSpec.
Security-Crypto w wersji 1.0.0
Wersja 1.0.0
21 kwietnia 2021 r.
Zostanie wycofaneandroidx.security:security-crypto:1.0.0
Wersja 1.0.0 zawiera te zmiany.
Główne funkcje wersji 1.0.0
Przegląd funkcji
EncryptedFile
udostępnia zaszyfrowane strumienie wejściowe i wyjściowe do odczytywania i zapisywania zaszyfrowanych danych w pliku.EncryptedSharedPreferences
, która udostępnia implementację SharedPreferences, która automatycznie szyfruje i odszyfrowuje wszystkie klucze i wartości.- Umożliwia proste generowanie kluczy za pomocą MasterKeys.
- Zwiększa stabilność dzięki korzystaniu z Tink w wersji 1.5.0.
Wersja 1.0.0-rc04
13 stycznia 2021 r.
Zostanie wycofaneandroidx.security:security-crypto:1.0.0-rc04
Wersja 1.0.0-rc04 zawiera te zmiany.
Poprawki błędów
- Zaktualizowaliśmy Tink do wersji 1.5.0, aby zwiększyć stabilność.
Wersja 1.0.0-rc03
5 sierpnia 2020 r.
Zostanie wycofaneandroidx.security:security-crypto:1.0.0-rc03
Wersja 1.0.0-rc03 zawiera te zmiany.
Nowe funkcje
- Aktualizacja biblioteki Tink do wersji stabilnej
1.4.0
Poprawki błędów
- Aktualizacja Tink powinna rozwiązać problemy z R8 i Proguardem związane z zacienioną zależnością Protobuf.
- Aktualizacja Tink powinna prawidłowo obsługiwać błędy współbieżności AndroidKeyStore.
Wkład zewnętrzny
- wyczyść
mKeysChanged
po zastosowaniu, poprawka dla EncryptedSharedPreferences (aosp/1323026)
Wersja 1.0.0-rc02
20 maja 2020 r.
Zostanie wycofaneandroidx.security:security-crypto:1.0.0-rc02
Wersja 1.0.0-rc02 zawiera te zmiany.
Poprawki błędów
- Zaktualizowano do wersji 1.4.0-rc2 biblioteki Tink, która zacienia zależność proto buf lite. Rozwiązuje to powszechnie zgłaszany problem z konfliktami z innymi pakietami SDK na Androida. (I8a831)
- Naprawiono
apply()
wEncryptedSharedPreferences
. (I29069, b/154366606)
Wersja 1.0.0-rc01
15 kwietnia 2020 roku
Zostanie wycofaneandroidx.security:security-crypto:1.0.0-rc01
Wersja 1.0.0-rc01 zawiera te zmiany.
Poprawki błędów
- Dodano sprawdzenie, czy jeśli do funkcji
MasterKeys.getOrCreate
przekazano wartośćKeyGenParamSpec
, a funkcjagetUserAuthenticationRequired
zwróciła wartośćtrue
, to funkcjagetUserAuthenticationValidityDurationSeconds
zwróci wartość >0. (I911f5) (b/152644939)
Wersja 1.0.0-beta01
18 marca 2020 r.
androidx.security:security-crypto:1.0.0-beta01
zostaje opublikowany bez zmian od 1.0.0-alpha02
. Wersja 1.0.0-beta01 zawiera te zmiany.
Wersja 1.0.0-alpha02
23 maja 2019 r.
Zostanie wycofaneandroidx.security:security-crypto:1.0.0-alpha02
Listę zatwierdzeń zawartych w tej wersji znajdziesz w tym logu zatwierdzeń.
Poprawki błędów
- Rozwiązaliśmy problem z pobieraniem kluczy i wartości powiązanych z ustawieniami współdzielonymi z
getAll()
. - Zablokowane użycie kluczy ustawień z ograniczeniami.
- Drobne aktualizacje dokumentacji Javadoc.
Wersja 1.0.0-alpha01
7 maja 2019 r.
Zostanie wycofaneandroidx.security:security-crypto:1.0.0-alpha01
Zmiany
uwzględnione w tej wersji znajdziesz tutaj.
Najważniejsze nowe funkcje
EncryptedFile
udostępnia zaszyfrowane strumienie wejściowe i wyjściowe do odczytywania i zapisywania zaszyfrowanych danych w pliku.EncryptedSharedPreferences
, która zapewnia implementacjęSharedPreferences
automatycznie szyfrującą i odszyfrowującą wszystkie klucze i wartości.- Umożliwia proste generowanie kluczy za pomocą MasterKeys.