Paket | flash.data |
Sınıf | public class EncryptedLocalStore |
Miras Alma | EncryptedLocalStore Object |
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0 |
ELS verileri uygulamalar arasında paylaşılamaz. ELS'nin kullanım amacı, oturum açma kimlik bilgileri ve başka gizli bilgiler gibi yeniden oluşturulan öğeleri kolaylıkla depolayacak bir uygulamaya izin vermektir. ELS verileri kalıcı olarak düşünülmemelidir; aşağıdaki "Şifreli yerel depo sınırlandırmaları" ve "ELS kullanımına yönelik en iyi uygulamalar" konularına bakın.
AIR profili desteği: Bu özellik AIR for TV aygıtlarında desteklenmez. Desteği çalışma zamanında EncryptedLocalStore.isSupported
özelliğini kullanarak test edebilirsiniz. Birden fazla profilde API desteği ile ilgili daha fazla bilgi için bkz. AIR Profil Desteği.
AIR, kullanıcı bilgisayarına veya aygıtına yüklenmiş her AIR uygulaması için bir şifrelenmiş yerel depo (ELS) sağlar. Bu sayede, kullanıcının yerel sabit sürücüsünde, şifresi başka kullanıcılar tarafından kolay bir şekilde çözülemeyecek olan şifreli bir biçimde saklanan verileri kaydedebilir ve alabilirsiniz. Her AIR uygulaması için ayrı bir şifrelenmiş yerel veri deposu kullanılır ve her AIR uygulaması, her bir kullanıcı hesabı için ayrı bir şifrelenmiş yerel veri deposu kullanır.
Web hizmetleri için oturum açma kimlik bilgileri gibi güvenceye alınması gereken bilgileri önbelleğe almak için şifrelenmiş yerel veri deposunu kullanın. Şifrelenmiş yerel veri deposu (ELS), öteki kullanıcıların ulaşamaması gereken özel bilgilerin depolanması için uygundur. Ancak aynı kullanıcı hesabı altında çalışan öteki uygulamalardan veri korumaz. Bu yüzden DRM veya şifreleme anahtarı gibi gizli uygulama verilerini korumak için uygun değildir.
AIR, şifreli yerel saklama alanını her uygulama ve kullanıcıyla ilişkilendirmek üzere Windows üzerinde DPAPI; Mac OS ve iOS üzerinde KeyChain; Linux üzerinde ise KeyRing veya KWallet kullanır. Şifreli yerel depo AES-CBC 128 bit şifreleme kullanır.
EncryptedLocalStorage sınıfı tarafından depolanan veriler Android'de şifrelenmez. Bunun yerine, veriler işletim sistemi tarafından sağlanan kullanıcı düzeyi güvenliğince korunur. Android işletim sistemi her uygulamaya ayrı bir kullanıcı kimliği atar. Uygulamalar yalnızca kendi dosyalarına ve ortak konumda oluşturulmuş dosyalara (kaldırılabilir depolama kartı gibi) erişebilir. Root edilmiş Android cihazlarında kök kullanıcı yetkileri ile çalışan uygulamaların, diğer uygulama dosyalarına erişebildiğini unutmayın. Bu nedenle şifreli yerel depo, root edilmiş bir cihazda root edilmemiş bir cihazda olduğu kadar yüksek bir veri koruma düzeyi sağlamaz.
Şifreli yerel depodaki bilgiler yalnızca uygulama güvenliği sanal alanındaki AIR uygulama içeriği tarafından kullanılabilir.
Şu durumlar dışında, AIR uygulamasını güncellediğinizde güncellenmiş sürüm şifrelenmiş yerel veri deposunda bulunan bütün verilere erişim sahibi olur:
- Öğeler
stronglyBound
parametresitrue
olarak ayarlanmış şekilde eklenmişse - AIR 3.2 ad alanından AIR 3.3'e yükseltme yaptınız (şifreli yerel deponun fiziksel konumu hem Mac OS hem Windows için AIR 3.2 ve AIR 3.3 arasında değişti)
- Var olan ve güncellenmiş sürümlerin ikisi de AIR 1.5.3 sürümünden önce yayımlanmıştır ve güncelleme taşıma imzası ile imzalanmıştır.
Şifrelenmiş yerel depo sınırlandırmaları
Şifrelenmiş yerel veri deposundaki veriler kullanıcının işletim sistemi hesabı kimlik bilgileri tarafından korunmaktadır. Diğer kullanıcılar depodaki verilere o kullanıcı olarak oturum açmadıkları sürece erişemezler. Ancak veriler kimliği doğrulanmış kullanıcının çalıştırdığı öteli uygulamalar karşısında güvende değildir. Bu yüzden uygulamanızın dijital haklar yönetimi veya lisanslama anahtarları gibi öteki kullanıcılardan saklamak isteyebileceği veriler güvende değildir. ELS, bu tip bilgilerin saklaması için uygun bir uygulama değildir. Yalnızca şifreler gibi kullanıcının özel verilerinin saklanması için uygun bir yerdir.
ELS içindeki veriler çeşitli sebeplerden kaybolabilir. Örneğin, kullanıcı uygulamayı kaldırabilir ve şifrelenmiş dosyayı silebilir. Veya güncelleme sonucu geliştirici kimliği değiştirilebilir. Bu yüzden ELS kalıcı bir veri deposu olarak değil, özel bir önbellek olarak kullanılmalıdır.
stronglyBound
parametresine itiraz edilmiştir ve true
olarak ayarlanmamalıdır. Parametreyi true
olarak ayarlamak veriye ek güvenlik sağlamaz. Aynı zamanda, yayıncı kimliği aynı kalsa dahi, uygulama her güncellendiğinde veriye erişim yok olur.
Saklı veriler 10MB'den fazlaysa, şifrelenen yerel saklama alanı daha yavaş performans gösterebilir.
Bir AIR uygulamasını kaldırdığınızda, kaldırıcı, şifrelenmiş yerel saklama alanında saklanan verileri silmez.
ELS kullanımına yönelik en iyi uygulamalar
ELS'nin en iyi kullanımı aşağıdaki gibidir:
- ELS'yi şifreler gibi hassas kullanıcı verisi depolamak için kullanın (
stronglyBound
öğesinifalse
olarak ayarlamak) - ELS'yi DRM anahtarları veya lisans işaretleri gibi gizlenmesi gereken uygulama verileri için kullanmayın
- ELS verisi kaybolduğunda ELS içinde depolanan verilerin yeniden oluşturulması için uygulamanıza bir yol sağlayın. Örneğin, gerektiğinde kullanıcıların kullanıcı hesabı bilgilerini yeniden girmeleri için uyarmak gibi.
-
stronglyBound
parametresini kullanmayın. -
stronglyBound
öğesinitrue
olarak ayarladınızsa güncelleme sırasında depolanan öğeleri taşımayın. Bunun yerine verileri güncellemeden sonra tekrar oluşturun. - Yalnızca küçük miktarda veri depolayın. Daha büyük miktarda veri için şifreli bir AIR SQL veritabanı kullanın.
Şifrelenmiş yerel saklama alanındaki öğeler bir dizeyle tanımlanır. Tüm öğeler bayt dizisi verileri olarak saklanır.
Özellik | Tanımlayan: | ||
---|---|---|---|
constructor : Object
Belirli bir nesne örneği için sınıf nesnesine veya yapıcı işlevine bir başvuru. | Object | ||
isSupported : Boolean [statik] [salt okunur]
isSupported özelliği, EncryptedLocalStore sınıfı geçerli platformda destekleniyorsa true olarak, aksi halde false olarak ayarlanır. | EncryptedLocalStore |
Yöntem | Tanımlayan: | ||
---|---|---|---|
[statik]
Belirtilen adla eşleşen veri. | EncryptedLocalStore | ||
Bir nesnenin belirli bir özelliğinin tanımlı olup olmadığını gösterir. | Object | ||
Object sınıfının bir örneğinin parametre olarak belirtilen nesnenin prototip zincirinde olup olmadığını gösterir. | Object | ||
Belirtilen özelliğin bulunup bulunmadığını ve numaralandırılabilir olup olmadığını gösterir. | Object | ||
[statik]
Belirli bir adı taşıyan öğeyi şifrelenmiş yerel saklama alanından kaldırır. | EncryptedLocalStore | ||
[statik]
Bütün verileri silerek şifrelenmiş yerel saklama alanının tamamını temizler. | EncryptedLocalStore | ||
[statik]
Belirtilen adın altında bir ByteArray nesnesi depolar. | EncryptedLocalStore | ||
Dinamik bir özelliğin döngü işlemlerinde kullanılabilirliğini ayarlar. | Object | ||
Bu nesnenin, yerel ayara özel kurallara göre biçimlendirilmiş dize temsilini döndürür. | Object | ||
Belirtilen nesnenin dize olarak temsil edilen halini döndürür. | Object | ||
Belirtilen nesnenin temel değerini döndürür. | Object |
isSupported | özellik |
getItem | () | yöntem |
public static function getItem(name:String):ByteArray
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0 |
Belirtilen adla eşleşen veri.
Belirtilen adı taşıyan bir öğe yoksa, bu yöntem null
döndürür.
Parametreler
name:String — Şifrelenmiş yerel saklama alanındaki öğenin adı.
|
ByteArray — ByteArray verileri. Verilen name için veri bulunmuyorsa, yöntem null döndürür.
|
Atar
ArgumentError — name değeri null veya boş bir dizedir.
|
removeItem | () | yöntem |
public static function removeItem(name:String):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0 |
Belirli bir adı taşıyan öğeyi şifrelenmiş yerel saklama alanından kaldırır.
Parametreler
name:String — Şifrelenmiş yerel saklama alanındaki öğenin adı.
|
Atar
ArgumentError — name değeri null veya boş bir dizedir.
|
reset | () | yöntem |
public static function reset():void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0 |
Bütün verileri silerek şifrelenmiş yerel saklama alanının tamamını temizler.
setItem | () | yöntem |
public static function setItem(name:String, data:ByteArray, stronglyBound:Boolean = false):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0 |
Belirtilen adın altında bir ByteArray nesnesi depolar.
Parametreler
name:String — Şifrelenmiş yerel saklama alanındaki öğenin adı.
| |
data:ByteArray — Veriler.
| |
stronglyBound:Boolean (default = false ) — (itiraz edilmiş) stronglyBound parametresi false olarak ayarlanmalıdır. true olarak ayarlanırsa, uygulama dosyalarından biri değiştirildiğinde depolanan öğe geri getirilemez. Örneğin, bir kullanıcı uygulamanızın bir güncellemesini yüklerse, güncellenmiş uygulama şifrelenmiş yerel veri deposuna önceden yazılmış hiçbir güçlü bağlı veriyi okuyamaz.
|
Atar
ArgumentError — name değeri null veya boş bir dizedir.
| |
ArgumentError — data değeri null şeklindedir.
|
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:09 PM Z