Paket | flash.data |
Klass | public class EncryptedLocalStore |
Arv | EncryptedLocalStore Object |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
ELS-data kan inte delas med andra program. Syftet med ELS är att låta ett program enkelt lagra återskapade objekt, som exempelvis inloggningsuppgifter och annan privat information. ELS-data ska inte betraktas som permanenta, se "Begränsningar för den krypterade lokala lagringsplatsen" och "Bästa sättet att använda ELS” nedan.
Stöd för AIR-profiler: Den här funktionen stöds inte på enheter med AIR for TV. Du kan testa stödet vid körning med egenskapen EncryptedLocalStore.isSupported
. På sidan om stöd för AIR-profiler hittar du mer information om API-stöd för flera profiler.
I AIR finns en krypterad lokal lagringsplats (ELS, encrypted local store) för varje AIR-program som installeras på användarens dator eller enhet. Det gör att du kan spara och hämta data som har lagrats på användarens lokala hårddisk i krypterat format och som inte på något enkelt sätt kan dechiffreras av andra användare. En separat krypterad lokal lagringsplats används för varje AIR-program, och varje AIR-program använder en separat krypterad lokal lagringsplats för varje användarkonto på datorn.
Använd den krypterade lokala lagringsplatsen för att cache-lagra information som måste vara skyddad, till exempel inloggningsuppgifter för webbtjänster. Den krypterade lokala lagringsplatsen lämpar sig för att lagra information som måste hållas privat. Den skyddar emellertid inte data från processer som körs under samma användarkonto. Det lämpar sig således inte för att skydda hemliga programdata, som till exempel DRM- eller kryperingsnycklar.
AIR använder DPAPI i Windows, KeyChain i Mac OS och iOS samt KeyRing eller KWallet i Linux för att koppla den krypterade lokala lagringsplatsen till varje program och användare. På den krypterade lokala lagringsplatsen används AES-CBC 128-bitarskryptering.
På Android krypteras inte data lagrade med klassen EncryptedLocalStorage. I stället skyddas data av den användarsäkerhet som finns i operativsystemet. I operativsystemet Android tilldelas alla program ett separat användar-ID. Program har endast åtkomst till egna filer och filer skapade på publika platser (till exempel på utbytbara minneskort). Observera att på "öppna" Android-enheter kan program som körs med rotprivilegier ha åtkomst till filer i andra program. På en "öppen" enhet kommer det krypterade lokala lagret inte att vara så skyddat som det är på en enhet som inte har "öppnats".
Information i den krypterade lokala lagringsplatsen är bara tillgänglig för AIR-programinnehåll i säkerhetssandlådan application.
Om du uppdaterar ett AIR-program kommer den uppdaterade versionen att få åtkomst till befintliga data i den krypterade lokala lagringsplatsen såvida inte:
- objekten lades till med parametern
stronglyBound
satt tilltrue
- Du har uppgraderat från AIR 3.2-namnutrymmet till AIR 3.3 (den fysiska platsen för den krypterade lokala lagringsplatsen ändrades mellan AIR 3.2 och AIR 3.3 för både Mac OS och Windows)
- de befintliga och uppdaterade versionerna både är publicerade före AIR 1.5.3 och om uppdateringen är signerad med en migreringssignatur.
Begränsningar för den krypterade lokala lagringsplatsen
Data i den krypterade lokala lagringsplatsen skyddas av kontoinställningarna i användarens operativsystem. Andra kommer inte åt informationen på lagringsplatsen såvida de inte kan logga in som den aktuelle användaren. Informationen är emellertid inte skyddad från åtkomst från andra program som körs av en godkänd användare. Detta innebär att data som du vill behålla hemlig, till exempel licensnycklar eller nycklar för digitala behörigheter, inte är säkra. Den krypterade lokala lagringsplatsen är således inte ett lämpligt ställe för att lagra sådan information. Den lämpar sig bara för att lagra en användares privata data, till exempel lösenord.
Data kan av olika anledningar tas bort från den krypterade lokala lagringsplatsen. Användaren kan till exempel avinstallera programmet och ta bort den krypterade filen. Dessutom kan utgivar-ID ändras efter en uppdatering. Den krypterade lokala lagringsplatsen ska alltså hanteras som ett privat cache-minne och inte som en permanent lagringsplats.
Parametern stronglyBound
är föråldrad och ska inte sättas till true
. Om du sätter parametern till true
innebär det inte att du får något extra skydd för dina data. Samtidigt förlorar du åtkomsten till data när programmet uppdateras, även om du behåller utgivar-ID:t.
Den krypterade lokala lagringsplatsen kan prestera sämre om lagrade data överstiger 10 MB.
Om du avinstallerar ett AIR-program tas inte data som har lagrats i den krypterade lokala lagringsplatsen bort.
Bästa sättet att använda ELS
De bästa sätten att använda den krypterade lokala lagringsplatsen är:
- Använd lagringsplatsen för att lagra känsliga data som exempelvis lösenord (ange att
stronglyBound
ska varafalse
). - Använd inte lagringsplatsen för att lagra programhemligheter såsom DRM- eller licensnycklar.
- Erbjud ett sätt för programmet att återskapa data lagrade på lagringsplatsen om dessa data tas bort, till exempel genom att uppmana användaren att ange kontouppgifterna på nytt om det skulle behövas.
- Använd inte parametern
stronglyBound
. - Migrera inte lagrade objekt under en uppdatering om du anger att
stronglyBound
ska varatrue
. Återskapa i stället data efter en uppdatering. - Spara endast små mängder data. Om du har stora datamängder ska du använda den krypterade AIR SQL-databasen.
Objekt i den krypterade lokala lagringsplatsen identifieras med en sträng. Alla objekt lagras som bytearraydata.
Egenskap | Definieras med | ||
---|---|---|---|
constructor : Object
En referens till klassobjektet eller konstruktorfunktionen för en given objektinstans. | Object | ||
isSupported : Boolean [statisk] [skrivskyddad]
Egenskapen isSupported är true om klassen EncryptedLocalStore stöds på den aktuella plattformen, och i annat fall är värdet false. | EncryptedLocalStore |
Metod | Definieras med | ||
---|---|---|---|
[statisk]
Data som motsvarar det angivna namnet. | EncryptedLocalStore | ||
Anger om det finns en egenskap angiven för ett objekt. | Object | ||
Anger om en instans av klassen Object finns i prototypkedjan för objektet som anges som parameter. | Object | ||
Anger om den angivna egenskapen finns och är uppräkningsbar. | Object | ||
[statisk]
Tar bort objektet med det angivna namnet från den krypterade lokala lagringsplatsen. | EncryptedLocalStore | ||
[statisk]
Rensar hela den krypterade lokala lagringsplatsen och tar bort alla data. | EncryptedLocalStore | ||
[statisk]
Lagrar ett ByteArray-objekt under det angivna namnet. | EncryptedLocalStore | ||
Anger tillgänglighet för en dynamisk egenskap för slingåtgärder. | Object | ||
Returnerar det här objektets strängrepresentation, formaterad i enlighet med språkspecifika konventioner. | Object | ||
Returnerar det angivna objektets strängbeteckning. | Object | ||
Returnerar det angivna objektets primitiva värde. | Object |
isSupported | egenskap |
getItem | () | metod |
public static function getItem(name:String):ByteArray
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Data som motsvarar det angivna namnet.
Om det inte finns något objekt med det angivna namnet returnerar metoden null
.
Parametrar
name:String — Namnet på objektet på den krypterade lokala lagringsplatsen.
|
ByteArray — ByteArray-data. Om det inte finns data för angivet name returnerar metoden null .
|
Utlöser
ArgumentError — Värdet name är null eller en tom sträng.
|
removeItem | () | metod |
public static function removeItem(name:String):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Tar bort objektet med det angivna namnet från den krypterade lokala lagringsplatsen.
Parametrar
name:String — Namnet på objektet på den krypterade lokala lagringsplatsen.
|
Utlöser
ArgumentError — Värdet name är null eller en tom sträng.
|
reset | () | metod |
public static function reset():void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Rensar hela den krypterade lokala lagringsplatsen och tar bort alla data.
setItem | () | metod |
public static function setItem(name:String, data:ByteArray, stronglyBound:Boolean = false):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Lagrar ett ByteArray-objekt under det angivna namnet.
Parametrar
name:String — Namnet på objektet på den krypterade lokala lagringsplatsen.
| |
data:ByteArray — Datan.
| |
stronglyBound:Boolean (default = false ) — (föråldrat) Parameter stronglyBound ska vara false (standardvärde). Om du väljer true kan det lagrade objektet inte hämtas om någon programfil ändras. Om till exempel en användare installerar en uppdatering av ditt program, kan det uppdaterade programmet inte läsa starkt bundna data som fanns på den krypterade lokala lagringsplatsen.
|
Utlöser
ArgumentError — Värdet name är null eller en tom sträng.
| |
ArgumentError — Värdet för data är 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");
Tue Jun 12 2018, 01:40 PM Z