Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Security

Gérez les clés de manière sécurisée, et chiffrez les fichiers et les préférences partagées.

Ce tableau liste tous les artefacts du groupe androidx.security.

Artefact Version stable Version finale Version bêta Version alpha
security-crypto 1.0.0 - - 1.1.0-alpha04
security-app-authenticator - - - 1.0.0-alpha02
security-identity-credential - - - 1.0.0-alpha03
Dernière mise à jour de la bibliothèque : 9 novembre 2022

Déclarer des dépendances

Pour ajouter une dépendance à Security, vous devez ajouter le dépôt Maven de Google à votre projet. Pour en savoir plus, consultez la section Dépôt Maven de Google.

Ajoutez les dépendances correspondant aux artefacts dont vous avez besoin dans le fichier build.gradle de votre application ou de votre module :

Groovy

dependencies {
    implementation "androidx.security:security-crypto:1.0.0"

    // For Identity Credential APIs
    implementation "androidx.security:security-identity-credential:1.0.0-alpha03"

     // For App Authentication APIs
    implementation "androidx.security:security-app-authenticator:1.0.0-alpha02"

    // For App Authentication API testing
    androidTestImplementation "androidx.security:security-app-authenticator:1.0.0-alpha01"
}

Kotlin

dependencies {
    implementation("androidx.security:security-crypto:1.0.0")

    // For Identity Credential APIs
    implementation("androidx.security:security-identity-credential:1.0.0-alpha03")

    // For App Authentication APIs
    implementation("androidx.security:security-app-authenticator:1.0.0-alpha02")

    // For App Authentication API testing
    androidTestImplementation("androidx.security:security-app-authenticator:1.0.0-alpha01")

}

Pour en savoir plus sur les dépendances, consultez la page Ajouter des dépendances de build.

Commentaires

Vos commentaires nous aident à améliorer Jetpack. N'hésitez pas à nous contacter si vous découvrez de nouveaux problèmes ou si vous avez des idées pour améliorer cette bibliothèque. Veuillez consulter les problèmes existants de cette bibliothèque avant d'en signaler un nouveau. Vous pouvez ajouter votre vote à un problème existant en cliquant sur le bouton en forme d'étoile.

Signaler un problème

Pour en savoir plus, consultez la documentation sur l'outil Issue Tracker.

Security-App-Authenticator version 1.0.0

Version 1.0.0-alpha02

2 juin 2021

Publication d'androidx.security:security-app-authenticator:1.0.0-alpha02. Liste des commits de la version 1.0.0-alpha02.

Modifications apportées à l'API

  • En vue de la prise en charge du nouvel indicateur de protection des autorisations knownSigner introduit dans Android 12, l'attribut digestAlgorithm ne peut plus être spécifié dans la configuration. À la place, tous les condensés de certificats doivent être calculés à l'aide de SHA-256.

Corrections de bugs

  • Tous les condensés de certificats fournis dans la configuration sont désormais normalisés afin de garantir qu'une correspondance de signature réussie soit signalée lors du calcul du condensé au moment de l'exécution et lors de la définition d'une identité de signature explicite pendant l'utilisation de la bibliothèque de tests.

Security-App-Authenticator-Testing version 1.0.0-alpha01

2 juin 2021

Publication d'androidx.security:security-app-authenticator-testing:1.0.0-alpha01. Liste des commits de la version 1.0.0-alpha01.

Nouvelles fonctionnalités

Cette bibliothèque de tests fournit un compilateur permettant de configurer un AppAuthenticator injectable afin de répondre aux exigences du test. Plusieurs méthodes de configuration de l'AppAuthenticator peuvent être utilisées dans cette bibliothèque :

  • Vous pouvez définir une règle de test générique qui signale une correspondance de signature pour tous les packages déclarés dans la configuration.
  • Vous pouvez définir des packages individuels pour qu'ils renvoient une correspondance de signature. Tous les autres packages ne renvoient aucune correspondance.
  • Vous pouvez définir des identités de signature explicites pour chaque package. AppAuthenticator n'affichera une correspondance de signature que si l'identité fournie correspond à la déclaration dans le fichier de configuration.
  • Les packages peuvent également être traités comme non installés ou comme s'ils présentaient un uid explicite.

Version 1.0.0-alpha01

5 mai 2021

Publication d'androidx.security:security-app-authenticator:1.0.0-alpha01. Liste des commits de la version 1.0.0-alpha01.

Nouvelles fonctionnalités

AppAuthenticator est une nouvelle bibliothèque destinée à simplifier la vérification de l'approbation des applications en fonction de l'identité de signature. L'application doit simplement spécifier un fichier de configuration XML contenant les noms des packages et les identités de signature des applications approuvées. La bibliothèque se charge de valider l'identité de signature de l'application au moment de l'exécution.

Version 1.1.0

Version 1.1.0-alpha04

9 novembre 2022

Publication d'androidx.security:security-crypto:1.1.0-alpha04 et androidx.security:security-crypto-ktx:1.1.0-alpha04. Liste des commits de la version 1.1.0-alpha04

Nouvelles fonctionnalités

  • Suppression du message de journal "Keyset not found, will generate a new one" (Ensemble de clés introuvable ; un nouvel ensemble de clés sera généré) lors du premier lancement de l'application. (b/185219606)
  • Mise à niveau de la dépendance Tink vers la version 1.7.0.

Modifications apportées à l'API

  • Modifie EncryptedFile#openFileInput() pour générer un FileNotFoundException, plutôt qu'un IOException générique lorsque le fichier demandé n'existe pas. (I80e41, b/148804719)
  • Mise à jour de la classe "MasterKeys" pour qu'elle utilise Android M plutôt que chacune de ses méthodes. (I8b4b8)
  • Modifie tous les getters de préférence sur EncryptedSharedPreferences (ex. #getString, #getInt) pour générer SecurityException dans les rares cas où le type d'une valeur ne peut pas être mis en correspondance avec l'une des variantes d'énumération définies. (b/241699427)

Corrections de bugs

  • Synchronisation de la version minimale du SDK de la bibliothèque security-crypto-ktx avec security-crypto en la ramenant à la version v21. (b/193550375)
  • Correction d'un bug de simultanéité lors de la création de plusieurs éléments EncryptedFile. (b/136590547)

Contribution externe

  • Réception d'un correctif pour EncryptedSharedPreferences.Editor#remove de la part de chr.ibbotson@gmail.com. (b/224994760, b/134197835, f44d44d)

Security-Crypto-Ktx version 1.1.0-alpha03

18 mai 2021

Publication d'androidx.security:security-crypto-ktx:1.1.0-alpha03. Liste des commits de la version 1.1.0-alpha03.

Mise à jour pour correspondre à androidx.security:security-crypto:1.1.0-alpha03.

Version 1.1.0-alpha03

2 décembre 2020

Publication d'androidx.security:security-crypto:1.1.0-alpha03. Liste des commits de la version 1.1.0-alpha03.

Nouvelles fonctionnalités

  • Mise à jour de Tink vers la version stable 1.5.0.

Version 1.1.0-alpha02

5 août 2020

Publication d'androidx.security:security-crypto:1.1.0-alpha02 et d'androidx.security:security-crypto-ktx:1.1.0-alpha02. Liste des commits de la version 1.1.0-alpha02

Nouvelles fonctionnalités

  • Mise à jour de Tink vers la version stable 1.4.0.

Corrections de bugs

  • La mise à jour de Tink devrait résoudre les problèmes de R8 et de ProGuard avec la dépendance de tampon de protocole ombré.
  • La mise à jour de Tink doit gérer normalement les échecs de simultanéité d'AndroidKeyStore.

Contribution externe

  • Effacement de mKeysChanged lors de l'application, correction d'EncryptedSharedPreferences (aosp/1323026).

Version 1.1.0-alpha01

10 juin 2020

Publication d'androidx.security:security-crypto:1.1.0-alpha01. Liste des commits de la version 1.1.0-alpha01

Nouvelles fonctionnalités

  • Prise en charge de Lollipop (niveau d'API 21 ou version ultérieure). Veuillez noter qu'AndroidKeyStore n'est pas utilisé pour les API 21 et 22 (I7c12d, b/132325342).
  • La nouvelle classe MasterKey fournit plus d'options pour les clés, et remplace les MasterKeys pour assurer la prise en charge des nouvelles fonctionnalités et versions d'Android qui ne présentent pas de KeyGenParamSpec.

Security-Identity-Credential version 1.0.0

Version 1.0.0-alpha03

1er septembre 2021

Publication d'androidx.security:security-identity-credential:1.0.0-alpha03. Liste des commits de la version 1.0.0-alpha03

Nouvelles fonctionnalités

  • Prise en charge des fonctionnalités Identity Credential intégrées au matériel dans Android 12.

Version 1.0.0-alpha02

24 février 2021

Publication d'androidx.security:security-identity-credential:1.0.0-alpha02. Liste des commits de la version 1.0.0-alpha02.

Corrections de bugs

  • Mise à jour de l'API Identity Credential pour correspondre aux prévisions d'Android 12 (Iff83e)

Version 1.0.0-alpha01

19 août 2020

Publication d'androidx.security:security-identity-credential:1.0.0-alpha01. Liste des commits de la version 1.0.0-alpha01.

Nouvelles fonctionnalités

Cette version de Jetpack inclut une version des API Identity Credential pour Jetpack, qui a été ajoutée à Android 11 et au niveau d'API 30. Si l'appareil est équipé d'Android 11 et prend en charge les fonctionnalités Identity Credential intégrées au matériel, cette version de Jetpack transfère simplement les appels à l'API de la plate-forme. Sinon, une implémentation Android basée sur un keystore sera utilisée. Bien que ce type d'implémentation n'offre pas le même niveau de sécurité et de confidentialité, elle convient parfaitement aussi bien aux conteneurs qu'aux émetteurs dans les cas où toutes les données sont signées par l'émetteur. Cette bibliothèque requiert le niveau d'API 24 ou ultérieur.

Les API Identity Credential fournissent une interface à un magasin sécurisé pour les documents d'identité des utilisateurs. Ces API sont délibérément générales et abstraites. Dans la mesure du possible, la spécification des formats de messages et de la sémantique de communication avec les appareils de vérification des identifiants et les autorités d'émission n'est pas couverte par ces API. Les structures de données dont dépendent les API sont compatibles avec les structures de données de la norme ISO/IEC IS 18013-5 à paraître : Identification des personnes — Permis de conduire conforme à l'ISO — Partie 5 : Application permis de conduire sur téléphone mobile.

Modifications apportées à l'API

  • Ajout du Jetpack Identity Credential (Icf90b).

Version 1.0.0

Version 1.0.0

21 avril 2021

Publication d'androidx.security:security-crypto:1.0.0. Liste des commits de la version 1.0.0.

Principales fonctionnalités de la version 1.0.0

Fonctionnalités clés

  • EncryptedFile fournit des flux d'entrée et de sortie chiffrés pour lire et écrire des données chiffrées dans un fichier.
  • EncryptedSharedPreferences implémente SharedPreferences pour chiffrer/déchiffrer automatiquement toutes les clés et les valeurs.
  • Permet de générer simplement des clés via MasterKeys.
  • Se base sur la version 1.5.0 de Tink pour une meilleure stabilité.

Version 1.0.0-rc04

13 janvier 2021

Publication d'androidx.security:security-crypto:1.0.0-rc04. Liste des commits de la version 1.0.0-rc04.

Corrections de bugs

  • Mise à niveau de Tink vers la version 1.5.0 pour renforcer sa stabilité.

Version 1.0.0-rc03

5 août 2020

Publication d'androidx.security:security-crypto:1.0.0-rc03. Liste des commits de la version 1.0.0-rc03.

Nouvelles fonctionnalités

  • Mise à jour de Tink vers la version stable 1.4.0.

Corrections de bugs

  • La mise à jour de Tink devrait résoudre les problèmes de R8 et de ProGuard avec la dépendance de tampon de protocole ombré.
  • La mise à jour de Tink doit gérer normalement les échecs de simultanéité d'AndroidKeyStore.

Contribution externe

  • Effacement de mKeysChanged lors de l'application, correction d'EncryptedSharedPreferences (aosp/1323026).

Version 1.0.0-rc02

20 mai 2020

Publication d'androidx.security:security-crypto:1.0.0-rc02. Liste des commits de la version 1.0.0-rc02

Corrections de bugs

  • Mise à jour vers la version 1.4.0-rc2 de Tink, qui occulte la dépendance lite des tampons de protocole. Cela permet de résoudre un problème courant de conflit avec d'autres SDK Android (I8a831).
  • Correction de apply() dans EncryptedSharedPreferences (I29069, b/154366606).

Version 1.0.0-rc01

15 avril 2020

Publication d'androidx.security:security-crypto:1.0.0-rc01. Liste des commits de la version 1.0.0-rc01.

Corrections de bugs

  • Ajout de vérifications pour garantir que si une KeyGenParamSpec est transmise à MasterKeys.getOrCreate, ce getUserAuthenticationRequired renvoie true et getUserAuthenticationValidityDurationSeconds renvoie une valeur supérieure à 0 (I911f5) (b/152644939).

Version 1.0.0-beta01

18 mars 2020

Publication d'androidx.security:security-crypto:1.0.0-beta01 sans aucune modification par rapport à la version 1.0.0-alpha02. Liste des commits de la version 1.0.0-beta01.

Version 1.0.0-alpha02

23 mai 2019

Publication d'androidx.security:security-crypto:1.0.0-alpha02. Les commits inclus dans cette version sont disponibles dans ce journal de commits.

Corrections de bugs

  • Résolution du problème de récupération des clés-valeurs associées aux préférences partagées à partir de getAll().
  • Blocage de l'utilisation de clés à préférence restreinte.
  • Mises à jour mineures de Javadoc.

Version 1.0.0-alpha01

7 mai 2019

Publication d'androidx.security:security-crypto:1.0.0-alpha01. Les commits inclus dans cette version sont disponibles sur cette page.

Nouvelles fonctionnalités

  • EncryptedFile fournit des flux d'entrée et de sortie chiffrés pour lire et écrire des données chiffrées dans un fichier.
  • EncryptedSharedPreferences implémente SharedPreferences pour chiffrer/déchiffrer automatiquement toutes les clés et les valeurs.
  • Permet de générer simplement des clés via MasterKeys.