| Package | flash.data |
| Classe | public class EncryptedLocalStore |
| Héritage | EncryptedLocalStore Object |
| Version du langage: | ActionScript 3.0 |
| Versions du moteur d’exécution: | AIR 1.0 |
Prise en charge du profil AIR : cette fonctionnalité est prise en charge sur tous les systèmes d’exploitation de bureau, mais ne l’est pas sur les périphériques mobiles ou les périphériques AIR pour TV. Vous pouvez tester la prise en charge lors de l’exécution à l’aide de la propriété EncryptedLocalStore.isSupported. Voir Prise en charge du profil AIR pour plus d’informations sur la prise en charge de l’API dans plusieurs profils.
AIR fournit un magasin local chiffré pour chaque application AIR installée sur l’ordinateur de l’utilisateur. Vous pouvez ainsi enregistrer et extraire les données stockées sur le disque dur local de l’utilisateur dans un format chiffré, que d’autres utilisateurs ne peuvent pas déchiffrer facilement. Un magasin local chiffré distinct est utilisé pour chaque application AIR et chacune d’elle fait appel à un magasin local chiffré pour chaque compte utilisateur de l’ordinateur.
Utilisez le magasin local chiffré pour mettre en mémoire cache des informations à sécuriser, telles que les informations de connexion aux services Web. Le magasin local chiffré convient au stockage des informations devant rester confidentielles. En revanche, il ne permet pas de protéger les données des autres processus exécutés sous le même compte utilisateur. Il n’est donc pas approprié pour protéger les données secrètes d’une application, notamment les mots de passe DRM ou les clés de chiffrement.
Pour associer le magasin local chiffré à chaque application et chaque utilisateur, AIR utilise DPAPI sous Windows, KeyChain sous Mac OS et KeyRing ou KWallet sous Linux. Le magasin local chiffré utilise un cryptage AES-CBC de 128 bits.
Les informations conservées dans le magasin local chiffré ne sont disponibles que pour le contenu de l’application AIR dans le sandbox de sécurité de l’application.
Si vous mettez à jour une application AIR, la version mise à jour conserve l’accès à toutes les données existantes dans le magasin local chiffré, sauf dans les cas suivants :
- Les éléments ont été ajoutés avec le paramètre
stronglyBounddéfini surtrue. - La version existante et la version mise à jour sont toutes deux publiées avant AIR 1.5.3, et la mise à jour est signée à l’aide d’une signature de migration.
Restrictions du magasin local chiffré
Les données contenues dans le magasin local chiffré sont protégées par les informations d’identification du compte du système d’exploitation de l’utilisateur. Les autres entités ne peuvent pas accéder aux données contenues dans le magasin, à moins qu’elles soient en mesure d’utiliser les informations d’identification de cet utilisateur pour se connecter. Il est néanmoins possible que d’autres applications exécutées par un utilisateur authentifié puissent accéder aux données. Par conséquent, les données que votre application souhaite garder secrètes, telles que les clés utilisées pour l’obtention de licences ou la gestion des droits numériques, ne sont pas sécurisées. Le magasin local chiffré n’est pas un emplacement approprié pour le stockage de ces informations. Il convient uniquement au stockage des données privées d’un utilisateur, telles que les mots de passe.
Les données contenues dans le magasin local chiffré peuvent être perdues pour plusieurs raisons. Par exemple, l’utilisateur n’a pas pu désinstaller l’application et supprimer le fichier chiffré. Ou l’ID de l’éditeur a été modifié suite à une mise à jour. Par conséquent, le magasin local chiffré doit être considéré comme une mémoire cache privée et non comme un emplacement de stockage permanent.
Le paramètre stronglyBound est déconseillé et ne doit pas être défini sur true. Définir ce paramètre sur true ne fournit pas de protection supplémentaire aux données. Par ailleurs, l’accès aux données est perdu à chaque mise à jour de l’application, même si l’ID de l’éditeur reste inchangé.
Le magasin local chiffré peut s’exécuter plus lentement si les données stockées dépassent 10 Mo.
Lorsque vous désinstallez une application AIR, le programme de désinstallation ne supprime pas les données stockées dans le magasin local chiffré.
Voici les normes de bonne pratique concernant l’utilisation du magasin local chiffré :
- Utilisez le magasin local chiffré pour stocker des données utilisateur sensibles, telles que les mots de passe (en définissant
stronglyBoundsurfalse). - N’utilisez pas le magasin local chiffré pour stocker les données secrètes d’une application, notamment les clés DRM ou les jetons de licence.
- Faites en sorte que votre application recrée les données stockées dans le magasin local chiffré en cas de perte, notamment en invitant l’utilisateur à saisir de nouveau les informations d’identification de son compte, si besoin est.
- N’utilisez pas le paramètre
stronglyBound. - Si vous définissez
stronglyBoundsurtrue, ne migrez pas les éléments stockés lors d’une mise à jour, mais recréez les données après la mise à jour. - Stockez uniquement de petites quantités de données. Si vous souhaitez stocker de grandes quantités de données, utilisez une base de données SQL AIR avec cryptage.
Les éléments du magasin local chiffré sont identifiés par une chaîne. Tous les éléments sont stockés sous forme de données de tableau d’octets.
Les données du magasin local chiffré sont placées dans un sous-répertoire du répertoire de données de l’application de l’utilisateur ; le chemin du sous-répertoire est Adobe/AIR/ELS/suivi de l’ID de l’application.
Plus d’exemples
| Propriété | Défini par | ||
|---|---|---|---|
![]() | constructor : Object
Référence à l’objet de classe ou à la fonction constructeur d’une occurrence donnée d’un objet. | Object | |
| isSupported : Boolean [statique] [lecture seule]
La propriété isSupported est définie sur true si la classe EncryptedLocalStore est prise en charge sur la plate-forme actuelle ; dans le cas contraire, elle est définie sur false. | EncryptedLocalStore | ||
![]() | prototype : Object [statique]
Référence à l’objet prototype d’un objet de classe ou fonction. | Object | |
| Méthode | Défini par | ||
|---|---|---|---|
[statique]
Données correspondant au nom spécifié. | EncryptedLocalStore | ||
![]() |
Indique si la propriété spécifiée d’un objet est définie. | Object | |
![]() |
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l’objet spécifié en tant que paramètre. | Object | |
![]() |
Indique si la propriété spécifiée existe et est énumérable. | Object | |
[statique]
Supprime l’élément avec le nom donné du magasin local chiffré. | EncryptedLocalStore | ||
[statique]
Efface tout le stockage local crypté, en supprimant toutes les données. | EncryptedLocalStore | ||
[statique]
Enregistre un objet ByteArray sous le nom spécifié. | EncryptedLocalStore | ||
![]() |
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle. | Object | |
![]() |
Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur. | Object | |
![]() |
Renvoie la représentation sous forme de chaîne de l’objet spécifié. | Object | |
![]() |
Renvoie la valeur primitive de l’objet spécifié. | Object | |
isSupported | propriété |
isSupported:Boolean [lecture seule] | Version du langage: | ActionScript 3.0 |
| Versions du moteur d’exécution: | AIR 2 |
La propriété isSupported est définie sur true si la classe EncryptedLocalStore est prise en charge sur la plate-forme actuelle ; dans le cas contraire, elle est définie sur false.
Implémentation
public static function get isSupported():BooleangetItem | () | méthode |
public static function getItem(name:String):ByteArray| Version du langage: | ActionScript 3.0 |
| Versions du moteur d’exécution: | AIR 1.0 |
Données correspondant au nom spécifié.
Si un élément n’existe pas avec le paramètre name spécifié, cette méthode renvoie null.
Paramètres
name:String — Nom de l’élément dans le magasin local chiffré.
|
ByteArray — Données ByteArray. S’il n’y a pas de données pour le paramètre name fourni, la méthode renvoie null.
|
Valeur émise
ArgumentError — La valeur name est null ou une chaîne vide.
|
removeItem | () | méthode |
public static function removeItem(name:String):void| Version du langage: | ActionScript 3.0 |
| Versions du moteur d’exécution: | AIR 1.0 |
Supprime l’élément avec le nom donné du magasin local chiffré.
Paramètres
name:String — Nom de l’élément dans le magasin local chiffré.
|
Valeur émise
ArgumentError — La valeur name est null ou une chaîne vide.
|
reset | () | méthode |
public static function reset():void| Version du langage: | ActionScript 3.0 |
| Versions du moteur d’exécution: | AIR 1.0 |
Efface tout le stockage local crypté, en supprimant toutes les données.
setItem | () | méthode |
public static function setItem(name:String, data:ByteArray, stronglyBound:Boolean = false):void| Version du langage: | ActionScript 3.0 |
| Versions du moteur d’exécution: | AIR 1.0 |
Enregistre un objet ByteArray sous le nom spécifié.
Paramètres
name:String — Nom de l’élément dans le magasin local chiffré.
| |
data:ByteArray — Données.
| |
stronglyBound:Boolean (default = false) — (déconseillé) Le paramètre stronglyBound doit être défini sur false (valeur par défaut). S’il est défini sur true, l’élément stocké ne pourra pas être récupéré si l’un des fichiers de l’application est endommagé. Par exemple, si un utilisateur installe une mise à jour de votre application, l’application mise à jour n’est pas en mesure de lire les données fortement liées précédemment écrites dans le magasin local chiffré.
|
Valeur émise
ArgumentError — La valeur name est null ou une chaîne vide.
| |
ArgumentError — La valeur data est définie sur null.
|
var str:String = "Bob";
var bytes:ByteArray = new ByteArray();
bytes.writeUTFBytes(str);
EncryptedLocalStore.setItem("firstName", bytes);
var storedValue:ByteArray = EncryptedLocalStore.getItem("firstName");
trace(storedValue.readUTFBytes(storedValue.length)); // "Bob"
EncryptedLocalStore.removeItem("firstName");
Wed Apr 11 2012, 05:37 AM -07:00
Masquer les propriétés publiques héritées
Afficher les propriétés publiques héritées