Sicurezza

Gestisci in sicurezza le chiavi e cripta i file e le preferenze condivise.

Questa tabella elenca tutti gli artefatti nel gruppo androidx.security.

Elemento Release stabile Candidato per la release Versione beta Alpha Release
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
Ultimo aggiornamento di questa raccolta: 2 luglio 2025

Dichiarazione di dipendenze

Per aggiungere una dipendenza da Security, devi aggiungere il repository Maven di Google al tuo progetto. Per saperne di più, consulta il repository Maven di Google.

Aggiungi le dipendenze per gli artefatti che ti servono nel file build.gradle per la tua app o il tuo modulo:

Per saperne di più sulle dipendenze, consulta Aggiungere dipendenze di build.

Feedback

Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa libreria. Prima di crearne uno nuovo, dai un'occhiata ai problemi esistenti in questa libreria. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.

Creare un nuovo problema

Per ulteriori informazioni, consulta la documentazione di Issue Tracker.

Security-State Version 1.0.0

Versione 1.0.0-beta01

26 febbraio 2025

androidx.security:security-state:1.0.0-beta01 viene ritirata. La versione 1.0.0-beta01 contiene questi commit.

Correzioni di bug

  • Risolto un problema che impediva a getPatchedCves() di restituire CVE corrette per COMPONENT_SYSTEM_MODULES. (Ice5e2)

Versione 1.0.0-alpha05

29 gennaio 2025

androidx.security:security-state:1.0.0-alpha05 viene ritirata. La versione 1.0.0-alpha05 contiene questi commit.

Nuove funzionalità

  • I nomi dei pacchetti dei moduli di sistema predefiniti sono stati aggiunti al manifest della libreria per consentire alle app client di ottenere l'SPL del dispositivo per i moduli di sistema. (Ic259c)

Modifiche alle API

  • È stato rinominato SecurityStateManager in SecurityStateManagerCompat, è stata aggiunta documentazione aggiuntiva per proprietà e funzioni pubbliche e sono stati resi statici i metodi getComponentSecurityPatchLevel e getVulnerabilityReportUrl. (I44a0c)
  • La funzionalità Aggiorna disponibilità (metodi listAvailableUpdates() e getAvailableSecurityPatchLevel()) è stata rimossa per il momento dalla superficie API e verrà reintrodotta in un futuro aggiornamento della libreria. (Idbc5e)
  • L'accesso all'elenco fornitori SPL è ora protetto da un flag in fase di compilazione disattivato per impostazione predefinita fino a un futuro aggiornamento della libreria. (I45b58)
  • getGlobalSecurityState() ora restituisce lo stato di sicurezza globale dal servizio di sistema per SDK 35 e versioni successive. (I7b9da)

Correzioni di bug

  • È stato corretto un arresto anomalo che si verificava quando si tentava di ottenere l'SPL pubblicato per il kernel su versioni precedenti di Android in cui non sono disponibili versioni LTS del kernel pubblicate. (I93dff)

Versione 1.0.0-alpha04

7 agosto 2024

androidx.security:security-state:1.0.0-alpha04 viene ritirata. La versione 1.0.0-alpha04 contiene questi commit.

Note

  • Aggiornamento di compileSdk alla versione 35 5dc41be

Modifiche alle API

  • Modifica sostanziale: l'enumerazione dei componenti è stata sostituita con costanti stringa per l'estensibilità. (Ia3283)

Versione 1.0.0-alpha03

10 luglio 2024

androidx.security:security-state:1.0.0-alpha03 viene ritirata. La versione 1.0.0-alpha03 contiene questi commit.

Correzioni di bug

  • Correzione del pattern ASB-A- per i bug del bollettino sulla sicurezza di Android, analisi JSON per componenti aggiuntivi e recupero dei pacchetti Webview. (Ide86a)

Versione 1.0.0-alpha02

26 giugno 2024

androidx.security:security-state:1.0.0-alpha02 viene ritirata. La versione 1.0.0-alpha02 contiene questi commit.

Correzioni di bug

  • Correzione della logica di recupero della versione del kernel. (I5602a)

Versione 1.0.0-alpha01

12 giugno 2024

androidx.security:security-state:1.0.0-alpha01 viene ritirata. La versione 1.0.0-alpha01 contiene questi commit.

Nuove funzionalità

  • Security State è una nuova libreria che gli sviluppatori possono utilizzare per ottenere dati utilizzabili sulle versioni dei componenti di sistema aggiornabili, sugli aggiornamenti della sicurezza e sulle correzioni applicate.

Security-App-Authenticator-Testing Version 1.0.0

Versione 1.0.0-rc01

20 maggio 2025

androidx.security:security-app-authenticator:1.0.0-rc01 e androidx.security:security-app-authenticator-testing:1.0.0-rc01 sono stati rilasciati. La versione 1.0.0-rc01 contiene questi commit.

Versione 1.0.0-beta01

6 marzo 2024

androidx.security:security-app-authenticator:1.0.0-beta01 e androidx.security:security-app-authenticator-testing:1.0.0-beta01 sono stati rilasciati. La versione 1.0.0-beta01 contiene questi commit.

Versione 1.0.0-alpha02

13 dicembre 2023

androidx.security:security-app-authenticator-testing:1.0.0-alpha02 viene ritirata. La versione 1.0.0-alpha02 contiene questi commit.

Correzioni di bug

  • Test aggiornato per il nuovo comportamento dell'API che non presuppone più Binder#getCalling[Uid|Pid] quando non viene fornito alle API [check|enforce]CallingAppIdentity. (I1851b)

Versione 1.0.0-alpha01

2 giugno 2021

androidx.security:security-app-authenticator-testing:1.0.0-alpha01 viene ritirata. La versione 1.0.0-alpha01 contiene questi commit.

Nuove funzionalità

Questa libreria di test fornisce un builder che può essere utilizzato per configurare un AppAuthenticator iniettabile in modo da soddisfare i requisiti del test. Questa libreria supporta diversi metodi per configurare AppAuthenticator:

  • È possibile specificare una norma di test generica che segnala una corrispondenza della firma per tutti i pacchetti dichiarati nella configurazione.
  • È possibile specificare i singoli pacchetti in modo che restituiscano una corrispondenza della firma con tutti gli altri pacchetti che non segnalano alcuna corrispondenza.
  • È possibile impostare identità di firma esplicite per ogni pacchetto. L'oggetto AppAuthenticator risultante segnalerà una corrispondenza della firma solo se l'identità fornita corrisponde alla dichiarazione nel file di configurazione.
  • I pacchetti possono anche essere trattati come non installati o con un UID esplicito.

Security-App-Authenticator versione 1.0.0

Versione 1.0.0-rc01

20 maggio 2025

androidx.security:security-app-authenticator:1.0.0-rc01 e androidx.security:security-app-authenticator-testing:1.0.0-rc01 sono stati rilasciati. La versione 1.0.0-rc01 contiene questi commit.

Versione 1.0.0-beta01

6 marzo 2024

androidx.security:security-app-authenticator:1.0.0-beta01 e androidx.security:security-app-authenticator-testing:1.0.0-beta01 sono stati rilasciati. La versione 1.0.0-beta01 contiene questi commit.

Versione 1.0.0-alpha03

13 dicembre 2023

androidx.security:security-app-authenticator:1.0.0-alpha03 viene ritirata. La versione 1.0.0-alpha03 contiene questi commit.

Modifiche alle API

  • È stato aggiunto il supporto per i casi d'uso in cui l'UID / PID del pacchetto da verificare non è disponibile. Le API ora supportano casi come startActivityForResult e attività / ricevitori in cui l'identità dell'app chiamante viene condivisa tramite [Activity|Broadcast]Options#setShareIdentityEnabled.
  • Il comportamento di [check|enforce]CallingAppIdentity(String, String) è stato aggiornato per supportare questi nuovi casi d'uso. Questi metodi non utilizzeranno più Binder#getCalling[Uid|Pid] per impostazione predefinita, ma salteranno la verifica dell'UID del pacchetto chiamante se non viene fornito in modo esplicito. (I1851b)

Versione 1.0.0-alpha02

2 giugno 2021

androidx.security:security-app-authenticator:1.0.0-alpha02 viene ritirata. La versione 1.0.0-alpha02 contiene questi commit.

Modifiche alle API

  • In preparazione al supporto del nuovo flag di protezione delle autorizzazioni knownSigner introdotto in Android 12, l'attributo digestAlgorithm non può più essere specificato nella configurazione; al contrario, tutti i digest dei certificati devono essere calcolati utilizzando SHA-256.

Correzioni di bug

  • Tutti i digest dei certificati forniti nella configurazione ora sono normalizzati per garantire che sia possibile segnalare una corrispondenza della firma riuscita sia quando il digest viene calcolato in fase di runtime sia quando viene definita un'identità di firma esplicita quando si utilizza la libreria di test.

Versione 1.0.0-alpha01

5 maggio 2021

androidx.security:security-app-authenticator:1.0.0-alpha01 viene ritirata. La versione 1.0.0-alpha01 contiene questi commit.

Nuove funzionalità

AppAuthenticator è una nuova libreria che ha lo scopo di semplificare la verifica dell'attendibilità delle app in base all'identità di firma. Un'app deve solo specificare un file di configurazione XML contenente i nomi dei pacchetti e le identità di firma delle app attendibili e la libreria si occuperà di verificare l'identità di firma delle app in fase di runtime.

Security-Identity-Credential versione 1.0.0

Versione 1.0.0-alpha03

1° settembre 2021

androidx.security:security-identity-credential:1.0.0-alpha03 viene ritirata. La versione 1.0.0-alpha03 contiene questi commit.

Nuove funzionalità

  • È stato aggiunto il supporto per le funzionalità delle credenziali di identità supportate dall'hardware in Android 12.

Versione 1.0.0-alpha02

24 febbraio 2021

androidx.security:security-identity-credential:1.0.0-alpha02 viene ritirata. La versione 1.0.0-alpha02 contiene questi commit.

Correzioni di bug

  • Aggiorna l'API Identity Credential in modo che corrisponda ai piani di Android 12 (Iff83e)

Versione 1.0.0-alpha01

19 agosto 2020

androidx.security:security-identity-credential:1.0.0-alpha01 viene ritirata. La versione 1.0.0-alpha01 contiene questi commit.

Nuove funzionalità

Questa release di Jetpack include una versione Jetpack delle API Identity Credential, aggiunta ad Android 11 e al livello API 30. Se viene eseguito su Android 11 e il dispositivo supporta le credenziali di identità basate su hardware, questo Jetpack inoltra semplicemente le chiamate all'API della piattaforma. In caso contrario, verrà utilizzata un'implementazione basata su Android Keystore. Sebbene l'implementazione basata su Android Keystore non fornisca lo stesso livello di sicurezza e privacy, è perfettamente adeguata sia per i titolari sia per gli emittenti nei casi in cui tutti i dati sono firmati dall'emittente. Questa libreria richiede il livello API 24 o versioni successive.

Le API Identity Credential forniscono un'interfaccia a un archivio sicuro per i documenti di identità degli utenti. Queste API sono volutamente piuttosto generali e astratte. Per quanto possibile, la specifica dei formati dei messaggi e della semantica della comunicazione con i dispositivi di verifica delle credenziali e le autorità emittenti (AE) non rientra nell'ambito di queste API. Le strutture di dati da cui dipendono le API sono compatibili con le strutture di dati dello standard ISO/IEC IS 18013-5 Personal identification — ISO-compliant driving licence — Part 5: Mobile driving licence (mDL) application, che verrà rilasciato a breve.

Modifiche alle API

  • Aggiunto Jetpack per le credenziali di identità. (Icf90b)

Security-Crypto versione 1.1.0

Versione 1.1.0-rc01

2 luglio 2025

androidx.security:security-crypto:1.1.0-rc01 e androidx.security:security-crypto-ktx:1.1.0-rc01 sono stati rilasciati. La versione 1.1.0-rc01 contiene questi commit.

Versione 1.1.0-beta01

4 giugno 2025

androidx.security:security-crypto:1.1.0-beta01 e androidx.security:security-crypto-ktx:1.1.0-beta01 sono stati rilasciati. La versione 1.1.0-beta01 contiene questi commit.

Modifiche alle API

  • Sono state ritirate tutte le API a favore delle API della piattaforma esistenti e dell'utilizzo diretto di Android Keystore.

Versione 1.1.0-alpha07

9 aprile 2025

androidx.security:security-crypto:1.1.0-alpha07 e androidx.security:security-crypto-ktx:1.1.0-alpha07 sono stati rilasciati. La versione 1.1.0-alpha07 contiene questi commit.

Modifiche alle API

  • Sono state ritirate tutte le API a favore delle API della piattaforma esistenti e dell'utilizzo diretto di Android Keystore.

Versione 1.1.0-alpha06

19 aprile 2023

androidx.security:security-crypto:1.1.0-alpha06 e androidx.security:security-crypto-ktx:1.1.0-alpha06 sono stati rilasciati. La versione 1.1.0-alpha06 contiene questi commit.

Nuove funzionalità

  • Dipendenza Tink aggiornata alla versione 1.8.0

Versione 1.1.0-alpha05

22 febbraio 2023

androidx.security:security-crypto:1.1.0-alpha05 e androidx.security:security-crypto-ktx:1.1.0-alpha05 sono stati rilasciati. La versione 1.1.0-alpha05 contiene questi commit.

Correzioni di bug

  • È stata corretta una race condition in MasterKeys.getOrCreate (I3391e, b/268572037)

Versione 1.1.0-alpha04

9 novembre 2022

androidx.security:security-crypto:1.1.0-alpha04 e androidx.security:security-crypto-ktx:1.1.0-alpha04 sono stati rilasciati. La versione 1.1.0-alpha04 contiene questi commit.

Nuove funzionalità

  • Rimosso il messaggio di log "keyset not found, will generate a new one" (keyset non trovato, ne verrà generato uno nuovo) al primo avvio dell'app. (b/185219606)
  • È stato eseguito l'upgrade della dipendenza Tink alla versione 1.7.0.

Modifiche alle API

  • Modifiche EncryptedFile#openFileInput() per generare un FileNotFoundException anziché un IOException generico quando il file richiesto non esiste. (I80e41, b/148804719)
  • È stata aggiornata la classe "MasterKeys" in modo che richieda Android M anziché ciascuno dei suoi metodi. (I8b4b8)
  • Modifica tutti i getter delle preferenze su EncryptedSharedPreferences (ad es. #getString, #getInt) per generare SecurityException in rare circostanze in cui il tipo di un valore non può essere associato a una delle varianti enum definite. (b/241699427)

Correzioni di bug

  • Sincronizzazione della versione SDK minima della libreria security-crypto-ktx con security-crypto abbassandola alla versione 21 (b/193550375)
  • Correzione del bug di concorrenza durante la creazione di più EncryptedFile (b/136590547)

Contributo esterno

Security-Crypto-Ktx versione 1.1.0-alpha03

18 maggio 2021

androidx.security:security-crypto-ktx:1.1.0-alpha03 viene ritirata. La versione 1.1.0-alpha03 contiene questi commit.

Aggiornato in modo che corrisponda a androidx.security:security-crypto:1.1.0-alpha03.

Versione 1.1.0-alpha03

2 dicembre 2020

androidx.security:security-crypto:1.1.0-alpha03 viene ritirata. La versione 1.1.0-alpha03 contiene questi commit.

Nuove funzionalità

  • Aggiornamento di Tink alla release stabile 1.5.0

Versione 1.1.0-alpha02

5 agosto 2020

androidx.security:security-crypto:1.1.0-alpha02 e androidx.security:security-crypto-ktx:1.1.0-alpha02 sono stati rilasciati. La versione 1.1.0-alpha02 contiene questi commit.

Nuove funzionalità

  • Aggiornamento di Tink alla release stabile 1.4.0

Correzioni di bug

  • L'aggiornamento di Tink dovrebbe risolvere i problemi di R8 e Proguard con la dipendenza Protobuf ombreggiata.
  • L'aggiornamento di Tink deve gestire correttamente gli errori di concorrenza di AndroidKeyStore.

Contributo esterno

  • cancella mKeysChanged all'applicazione, correzione per EncryptedSharedPreferences (aosp/1323026)

Versione 1.1.0-alpha01

10 giugno 2020

androidx.security:security-crypto:1.1.0-alpha01 viene ritirata. La versione 1.1.0-alpha01 contiene questi commit.

Nuove funzionalità

  • Lollipop (livello API 21+) è ora supportato. Tieni presente che AndroidKeyStore non viene utilizzato per le API 21 e 22. (I7c12d, b/132325342)
  • La nuova classe MasterKey offre più opzioni per le chiavi, ritirando anche le MasterKey per supportare nuove funzionalità e versioni di Android che non hanno KeyGenParamSpec.

Security-Crypto versione 1.0.0

Versione 1.0.0

21 aprile 2021

androidx.security:security-crypto:1.0.0 viene ritirata. La versione 1.0.0 contiene questi commit.

Funzionalità principali della versione 1.0.0

Caratteristiche principali

  • EncryptedFile, fornisce stream di input e output criptati per leggere/scrivere dati criptati in un file.
  • EncryptedSharedPreferences, fornisce un'implementazione di SharedPreferences che cripta/decripta automaticamente tutte le chiavi e i valori.
  • Fornisce una semplice generazione di chiavi tramite MasterKeys.
  • Si basa su Tink 1.5.0 per una maggiore stabilità.

Versione 1.0.0-rc04

13 gennaio 2021

androidx.security:security-crypto:1.0.0-rc04 viene ritirata. La versione 1.0.0-rc04 contiene questi commit.

Correzioni di bug

  • Aggiornamento di Tink alla versione 1.5.0 per una maggiore stabilità.

Versione 1.0.0-rc03

5 agosto 2020

androidx.security:security-crypto:1.0.0-rc03 viene ritirata. La versione 1.0.0-rc03 contiene questi commit.

Nuove funzionalità

  • Aggiornamento di Tink alla release stabile 1.4.0

Correzioni di bug

  • L'aggiornamento di Tink dovrebbe risolvere i problemi di R8 e Proguard con la dipendenza Protobuf ombreggiata.
  • L'aggiornamento di Tink deve gestire correttamente gli errori di concorrenza di AndroidKeyStore.

Contributo esterno

  • cancella mKeysChanged all'applicazione, correzione per EncryptedSharedPreferences (aosp/1323026)

Versione 1.0.0-rc02

20 maggio 2020

androidx.security:security-crypto:1.0.0-rc02 viene ritirata. La versione 1.0.0-rc02 contiene questi commit.

Correzioni di bug

  • Aggiornamento alla versione 1.4.0-rc2 di Tink, che ombreggia la dipendenza proto buf lite. In questo modo si risolve il problema ampiamente segnalato di conflitto con altri SDK Android. (I8a831)
  • Corretto apply() in EncryptedSharedPreferences. (I29069, b/154366606)

Versione 1.0.0-rc01

15 aprile 2020

androidx.security:security-crypto:1.0.0-rc01 viene ritirata. La versione 1.0.0-rc01 contiene questi commit.

Correzioni di bug

  • Sono stati aggiunti controlli per garantire che, se viene passato un KeyGenParamSpec a MasterKeys.getOrCreate, se getUserAuthenticationRequired restituisce true, getUserAuthenticationValidityDurationSeconds restituisca un valore > 0. (I911f5) (b/152644939)

Versione 1.0.0-beta01

18 marzo 2020

androidx.security:security-crypto:1.0.0-beta01 viene rilasciato senza modifiche dal giorno 1.0.0-alpha02. La versione 1.0.0-beta01 contiene questi commit.

Versione 1.0.0-alpha02

23 maggio 2019

androidx.security:security-crypto:1.0.0-alpha02 viene ritirata. I commit inclusi in questa versione sono disponibili in questo log dei commit.

Correzioni di bug

  • Risolto il problema di recupero di chiavi/valori associati alle preferenze condivise da getAll().
  • Utilizzo bloccato delle chiavi delle preferenze con limitazioni.
  • Aggiornamenti secondari di Javadoc.

Versione 1.0.0-alpha01

7 maggio 2019

androidx.security:security-crypto:1.0.0-alpha01 viene ritirata. I commit inclusi in questa versione sono disponibili qui.

Punti salienti delle nuove funzionalità

  • EncryptedFile, fornisce stream di input e output criptati per leggere/scrivere dati criptati in un file.
  • EncryptedSharedPreferences, fornisce un'implementazione di SharedPreferences che cripta/decripta automaticamente tutte le chiavi e i valori.
  • Fornisce una semplice generazione di chiavi tramite MasterKeys.