ActionScript® 3.0 — dokumentacja dla platformy Adobe® Flash®
Strona główna  |  Ukryj listę pakietów i klas |  Pakiety  |  Klasy  |  Nowości  |  Indeks  |  Dodatki  |  Dlaczego język angielski?
Filtry: AIR 30.0 i wcześniejsze, Flash Player 30.0 i wcześniejsze, Flash Lite 4
Flex 4.6 i wcześniejsze, Flash Pro CS6 i wcześniejsze
Ukryj filtry
flash.data 

EncryptedLocalStore  - AS3

Pakietyx

Najwyższy poziom
adobe.utils
air.desktop
air.net
air.update
air.update.events
coldfusion.air
coldfusion.air.errors
coldfusion.air.events
coldfusion.service
coldfusion.service.events
coldfusion.service.mxml
com.adobe.acm.solutions.authoring.domain.extensions
com.adobe.acm.solutions.ccr.domain.extensions
com.adobe.consulting.pst.vo
com.adobe.dct.component
com.adobe.dct.component.datadictionary
com.adobe.dct.component.datadictionaryElement
com.adobe.dct.component.dataElementsPanel
com.adobe.dct.component.toolbars
com.adobe.dct.event
com.adobe.dct.exp
com.adobe.dct.model
com.adobe.dct.service
com.adobe.dct.service.provider
com.adobe.dct.transfer
com.adobe.dct.util
com.adobe.dct.view
com.adobe.ep.taskmanagement.domain
com.adobe.ep.taskmanagement.event
com.adobe.ep.taskmanagement.filter
com.adobe.ep.taskmanagement.services
com.adobe.ep.taskmanagement.util
com.adobe.ep.ux.attachmentlist.component
com.adobe.ep.ux.attachmentlist.domain
com.adobe.ep.ux.attachmentlist.domain.events
com.adobe.ep.ux.attachmentlist.domain.renderers
com.adobe.ep.ux.attachmentlist.skin
com.adobe.ep.ux.attachmentlist.skin.renderers
com.adobe.ep.ux.content.event
com.adobe.ep.ux.content.factory
com.adobe.ep.ux.content.handlers
com.adobe.ep.ux.content.managers
com.adobe.ep.ux.content.model.asset
com.adobe.ep.ux.content.model.preview
com.adobe.ep.ux.content.model.relation
com.adobe.ep.ux.content.model.search
com.adobe.ep.ux.content.model.toolbar
com.adobe.ep.ux.content.search
com.adobe.ep.ux.content.services
com.adobe.ep.ux.content.services.load
com.adobe.ep.ux.content.services.permissions
com.adobe.ep.ux.content.services.preview
com.adobe.ep.ux.content.services.providers
com.adobe.ep.ux.content.services.query
com.adobe.ep.ux.content.services.relationships
com.adobe.ep.ux.content.services.search.lccontent
com.adobe.ep.ux.content.services.version
com.adobe.ep.ux.content.view
com.adobe.ep.ux.content.view.components.activate
com.adobe.ep.ux.content.view.components.grid
com.adobe.ep.ux.content.view.components.grid.hover
com.adobe.ep.ux.content.view.components.grid.hover.component
com.adobe.ep.ux.content.view.components.grid.renderers
com.adobe.ep.ux.content.view.components.relationships
com.adobe.ep.ux.content.view.components.review
com.adobe.ep.ux.content.view.components.search.renderers
com.adobe.ep.ux.content.view.components.searchpod
com.adobe.ep.ux.content.view.components.toolbar
com.adobe.ep.ux.content.view.components.toolbar.controlRenderers
com.adobe.ep.ux.content.view.components.version
com.adobe.ep.ux.documentsubmit.component
com.adobe.ep.ux.documentsubmit.domain
com.adobe.ep.ux.documentsubmit.skin
com.adobe.ep.ux.taskaction.component
com.adobe.ep.ux.taskaction.domain
com.adobe.ep.ux.taskaction.domain.events
com.adobe.ep.ux.taskaction.skin
com.adobe.ep.ux.taskdetails.component
com.adobe.ep.ux.taskdetails.domain
com.adobe.ep.ux.taskdetails.skin
com.adobe.ep.ux.tasklist.component
com.adobe.ep.ux.tasklist.domain
com.adobe.ep.ux.tasklist.skin
com.adobe.ep.ux.webdocumentviewer.domain
com.adobe.exm.expression
com.adobe.exm.expression.error
com.adobe.exm.expression.event
com.adobe.exm.expression.impl
com.adobe.fiber.runtime.lib
com.adobe.fiber.services
com.adobe.fiber.services.wrapper
com.adobe.fiber.styles
com.adobe.fiber.util
com.adobe.fiber.valueobjects
com.adobe.gravity.binding
com.adobe.gravity.context
com.adobe.gravity.flex.bundleloader
com.adobe.gravity.flex.progress
com.adobe.gravity.flex.serviceloader
com.adobe.gravity.framework
com.adobe.gravity.init
com.adobe.gravity.service.bundleloader
com.adobe.gravity.service.logging
com.adobe.gravity.service.manifest
com.adobe.gravity.service.progress
com.adobe.gravity.tracker
com.adobe.gravity.ui
com.adobe.gravity.utility
com.adobe.gravity.utility.async
com.adobe.gravity.utility.error
com.adobe.gravity.utility.events
com.adobe.gravity.utility.factory
com.adobe.gravity.utility.flex.async
com.adobe.gravity.utility.logging
com.adobe.gravity.utility.message
com.adobe.gravity.utility.sequence
com.adobe.gravity.utility.url
com.adobe.guides.control
com.adobe.guides.domain
com.adobe.guides.i18n
com.adobe.guides.spark.components.skins
com.adobe.guides.spark.components.skins.mx
com.adobe.guides.spark.headers.components
com.adobe.guides.spark.headers.skins
com.adobe.guides.spark.layouts.components
com.adobe.guides.spark.layouts.skins
com.adobe.guides.spark.navigators.components
com.adobe.guides.spark.navigators.renderers
com.adobe.guides.spark.navigators.skins
com.adobe.guides.spark.util
com.adobe.guides.spark.wrappers.components
com.adobe.guides.spark.wrappers.skins
com.adobe.guides.submit
com.adobe.icc.dc.domain
com.adobe.icc.dc.domain.factory
com.adobe.icc.editors.events
com.adobe.icc.editors.handlers
com.adobe.icc.editors.managers
com.adobe.icc.editors.model
com.adobe.icc.editors.model.config
com.adobe.icc.editors.model.el
com.adobe.icc.editors.model.el.operands
com.adobe.icc.editors.model.el.operators
com.adobe.icc.enum
com.adobe.icc.external.dc
com.adobe.icc.obj
com.adobe.icc.services
com.adobe.icc.services.category
com.adobe.icc.services.config
com.adobe.icc.services.download
com.adobe.icc.services.export
com.adobe.icc.services.external
com.adobe.icc.services.formbridge
com.adobe.icc.services.fragmentlayout
com.adobe.icc.services.layout
com.adobe.icc.services.letter
com.adobe.icc.services.locator
com.adobe.icc.services.module
com.adobe.icc.services.render
com.adobe.icc.services.submit
com.adobe.icc.services.user
com.adobe.icc.token
com.adobe.icc.vo
com.adobe.icc.vo.render
com.adobe.icomm.assetplacement.controller
com.adobe.icomm.assetplacement.controller.utils
com.adobe.icomm.assetplacement.data
com.adobe.icomm.assetplacement.model
com.adobe.livecycle.assetmanager.client
com.adobe.livecycle.assetmanager.client.event
com.adobe.livecycle.assetmanager.client.handler
com.adobe.livecycle.assetmanager.client.managers
com.adobe.livecycle.assetmanager.client.model
com.adobe.livecycle.assetmanager.client.model.cms
com.adobe.livecycle.assetmanager.client.service
com.adobe.livecycle.assetmanager.client.service.search
com.adobe.livecycle.assetmanager.client.service.search.cms
com.adobe.livecycle.assetmanager.client.utils
com.adobe.livecycle.content
com.adobe.livecycle.rca.model
com.adobe.livecycle.rca.model.constant
com.adobe.livecycle.rca.model.document
com.adobe.livecycle.rca.model.participant
com.adobe.livecycle.rca.model.reminder
com.adobe.livecycle.rca.model.stage
com.adobe.livecycle.rca.service
com.adobe.livecycle.rca.service.core
com.adobe.livecycle.rca.service.core.delegate
com.adobe.livecycle.rca.service.process
com.adobe.livecycle.rca.service.process.delegate
com.adobe.livecycle.rca.token
com.adobe.livecycle.ria.security.api
com.adobe.livecycle.ria.security.service
com.adobe.mosaic.layouts
com.adobe.mosaic.layouts.dragAndDrop
com.adobe.mosaic.layouts.interfaces
com.adobe.mosaic.mxml
com.adobe.mosaic.om.constants
com.adobe.mosaic.om.events
com.adobe.mosaic.om.impl
com.adobe.mosaic.om.interfaces
com.adobe.mosaic.skinning
com.adobe.mosaic.sparklib.editors
com.adobe.mosaic.sparklib.optionMenu
com.adobe.mosaic.sparklib.scrollableMenu
com.adobe.mosaic.sparklib.scrollableMenu.skins
com.adobe.mosaic.sparklib.tabLayout
com.adobe.mosaic.sparklib.tabLayout.events
com.adobe.mosaic.sparklib.tabLayout.layouts
com.adobe.mosaic.sparklib.tabLayout.skins
com.adobe.mosaic.sparklib.text
com.adobe.mosaic.sparklib.util
com.adobe.solutions.acm.authoring.presentation
com.adobe.solutions.acm.authoring.presentation.actionbar
com.adobe.solutions.acm.authoring.presentation.common
com.adobe.solutions.acm.authoring.presentation.events
com.adobe.solutions.acm.authoring.presentation.fragment
com.adobe.solutions.acm.authoring.presentation.letter
com.adobe.solutions.acm.authoring.presentation.letter.data
com.adobe.solutions.acm.authoring.presentation.preview
com.adobe.solutions.acm.authoring.presentation.rte
com.adobe.solutions.acm.ccr.presentation
com.adobe.solutions.acm.ccr.presentation.contentcapture
com.adobe.solutions.acm.ccr.presentation.contentcapture.events
com.adobe.solutions.acm.ccr.presentation.contentcapture.preview
com.adobe.solutions.acm.ccr.presentation.datacapture
com.adobe.solutions.acm.ccr.presentation.datacapture.renderers
com.adobe.solutions.acm.ccr.presentation.pdf
com.adobe.solutions.exm
com.adobe.solutions.exm.authoring
com.adobe.solutions.exm.authoring.components.controls
com.adobe.solutions.exm.authoring.components.toolbars
com.adobe.solutions.exm.authoring.domain
com.adobe.solutions.exm.authoring.domain.expression
com.adobe.solutions.exm.authoring.domain.impl
com.adobe.solutions.exm.authoring.domain.method
com.adobe.solutions.exm.authoring.domain.variable
com.adobe.solutions.exm.authoring.enum
com.adobe.solutions.exm.authoring.events
com.adobe.solutions.exm.authoring.model
com.adobe.solutions.exm.authoring.renderer
com.adobe.solutions.exm.authoring.view
com.adobe.solutions.exm.expression
com.adobe.solutions.exm.impl
com.adobe.solutions.exm.impl.method
com.adobe.solutions.exm.method
com.adobe.solutions.exm.mock
com.adobe.solutions.exm.mock.method
com.adobe.solutions.exm.runtime
com.adobe.solutions.exm.runtime.impl
com.adobe.solutions.exm.variable
com.adobe.solutions.prm.constant
com.adobe.solutions.prm.domain
com.adobe.solutions.prm.domain.factory
com.adobe.solutions.prm.domain.impl
com.adobe.solutions.prm.domain.manager
com.adobe.solutions.prm.presentation.asset
com.adobe.solutions.prm.presentation.constant
com.adobe.solutions.prm.presentation.document
com.adobe.solutions.prm.presentation.event
com.adobe.solutions.prm.presentation.file
com.adobe.solutions.prm.presentation.project
com.adobe.solutions.prm.presentation.team
com.adobe.solutions.prm.presentation.util
com.adobe.solutions.prm.service
com.adobe.solutions.prm.services.impl
com.adobe.solutions.prm.vo
com.adobe.solutions.rca.constant
com.adobe.solutions.rca.domain
com.adobe.solutions.rca.domain.common
com.adobe.solutions.rca.domain.factory
com.adobe.solutions.rca.domain.impl
com.adobe.solutions.rca.domain.impl.manager
com.adobe.solutions.rca.domain.manager
com.adobe.solutions.rca.presentation
com.adobe.solutions.rca.presentation.comment
com.adobe.solutions.rca.presentation.constant
com.adobe.solutions.rca.presentation.event
com.adobe.solutions.rca.presentation.gantt
com.adobe.solutions.rca.presentation.gantt.ruler
com.adobe.solutions.rca.presentation.template
com.adobe.solutions.rca.presentation.template.audit
com.adobe.solutions.rca.presentation.template.definition
com.adobe.solutions.rca.presentation.template.documents
com.adobe.solutions.rca.presentation.template.stages
com.adobe.solutions.rca.presentation.util
com.adobe.solutions.rca.service
com.adobe.solutions.rca.services.impl
com.adobe.solutions.rca.vo
com.adobe.solutions.rca.vo.um
com.adobe.viewsource
fl.accessibility
fl.containers
fl.controls
fl.controls.dataGridClasses
fl.controls.listClasses
fl.controls.progressBarClasses
fl.core
fl.data
fl.display
fl.events
fl.ik
fl.lang
fl.livepreview
fl.managers
fl.motion
fl.motion.easing
fl.rsl
fl.text
fl.transitions
fl.transitions.easing
fl.video
flash.accessibility
flash.concurrent
flash.crypto
flash.data
flash.desktop
flash.display
flash.display3D
flash.display3D.textures
flash.errors
flash.events
flash.external
flash.filesystem
flash.filters
flash.geom
flash.globalization
flash.html
flash.media
flash.net
flash.net.dns
flash.net.drm
flash.notifications
flash.permissions
flash.printing
flash.profiler
flash.sampler
flash.security
flash.sensors
flash.system
flash.text
flash.text.engine
flash.text.ime
flash.ui
flash.utils
flash.xml
flashx.textLayout
flashx.textLayout.compose
flashx.textLayout.container
flashx.textLayout.conversion
flashx.textLayout.edit
flashx.textLayout.elements
flashx.textLayout.events
flashx.textLayout.factory
flashx.textLayout.formats
flashx.textLayout.operations
flashx.textLayout.utils
flashx.undo
ga.controls
ga.layouts
ga.model
ga.uiComponents
ga.util
ga.views
ga.wrappers
lc.foundation
lc.foundation.domain
lc.foundation.events
lc.foundation.ui
lc.foundation.util
lc.preloader
lc.procmgmt
lc.procmgmt.commands
lc.procmgmt.domain
lc.procmgmt.events
lc.procmgmt.formbridge
lc.procmgmt.impl
lc.procmgmt.ui.attachments
lc.procmgmt.ui.controls
lc.procmgmt.ui.controls.card
lc.procmgmt.ui.controls.renderer
lc.procmgmt.ui.help
lc.procmgmt.ui.layout
lc.procmgmt.ui.presentationmodel
lc.procmgmt.ui.process
lc.procmgmt.ui.search
lc.procmgmt.ui.startpoint
lc.procmgmt.ui.task
lc.procmgmt.ui.task.form
lc.procmgmt.ui.task.form.commands
lc.procmgmt.ui.tracking
mx.accessibility
mx.automation
mx.automation.air
mx.automation.delegates
mx.automation.delegates.advancedDataGrid
mx.automation.delegates.charts
mx.automation.delegates.containers
mx.automation.delegates.controls
mx.automation.delegates.controls.dataGridClasses
mx.automation.delegates.controls.fileSystemClasses
mx.automation.delegates.core
mx.automation.delegates.flashflexkit
mx.automation.events
mx.binding
mx.binding.utils
mx.charts
mx.charts.chartClasses
mx.charts.effects
mx.charts.effects.effectClasses
mx.charts.events
mx.charts.renderers
mx.charts.series
mx.charts.series.items
mx.charts.series.renderData
mx.charts.styles
mx.collections
mx.collections.errors
mx.containers
mx.containers.accordionClasses
mx.containers.dividedBoxClasses
mx.containers.errors
mx.containers.utilityClasses
mx.controls
mx.controls.advancedDataGridClasses
mx.controls.dataGridClasses
mx.controls.listClasses
mx.controls.menuClasses
mx.controls.olapDataGridClasses
mx.controls.scrollClasses
mx.controls.sliderClasses
mx.controls.textClasses
mx.controls.treeClasses
mx.controls.videoClasses
mx.core
mx.core.windowClasses
mx.data
mx.data.crypto
mx.data.errors
mx.data.events
mx.data.messages
mx.data.mxml
mx.data.offline.errors
mx.data.utils
mx.effects
mx.effects.easing
mx.effects.effectClasses
mx.events
mx.filters
mx.flash
mx.formatters
mx.geom
mx.graphics
mx.graphics.codec
mx.graphics.shaderClasses
mx.logging
mx.logging.errors
mx.logging.targets
mx.managers
mx.messaging
mx.messaging.channels
mx.messaging.config
mx.messaging.errors
mx.messaging.events
mx.messaging.management
mx.messaging.messages
mx.modules
mx.netmon
mx.olap
mx.olap.aggregators
mx.preloaders
mx.printing
mx.resources
mx.rpc
mx.rpc.events
mx.rpc.http
mx.rpc.http.mxml
mx.rpc.livecycle
mx.rpc.mxml
mx.rpc.remoting
mx.rpc.remoting.mxml
mx.rpc.soap
mx.rpc.soap.mxml
mx.rpc.wsdl
mx.rpc.xml
mx.skins
mx.skins.halo
mx.skins.spark
mx.skins.wireframe
mx.skins.wireframe.windowChrome
mx.states
mx.styles
mx.utils
mx.validators
org.osmf.containers
org.osmf.display
org.osmf.elements
org.osmf.events
org.osmf.layout
org.osmf.logging
org.osmf.media
org.osmf.metadata
org.osmf.net
org.osmf.net.dvr
org.osmf.net.httpstreaming
org.osmf.net.metrics
org.osmf.net.qos
org.osmf.net.rtmpstreaming
org.osmf.net.rules
org.osmf.traits
org.osmf.utils
spark.accessibility
spark.automation.delegates
spark.automation.delegates.components
spark.automation.delegates.components.gridClasses
spark.automation.delegates.components.mediaClasses
spark.automation.delegates.components.supportClasses
spark.automation.delegates.skins.spark
spark.automation.events
spark.collections
spark.components
spark.components.calendarClasses
spark.components.gridClasses
spark.components.mediaClasses
spark.components.supportClasses
spark.components.windowClasses
spark.core
spark.effects
spark.effects.animation
spark.effects.easing
spark.effects.interpolation
spark.effects.supportClasses
spark.events
spark.filters
spark.formatters
spark.formatters.supportClasses
spark.globalization
spark.globalization.supportClasses
spark.layouts
spark.layouts.supportClasses
spark.managers
spark.modules
spark.preloaders
spark.primitives
spark.primitives.supportClasses
spark.skins
spark.skins.mobile
spark.skins.mobile.supportClasses
spark.skins.spark
spark.skins.spark.mediaClasses.fullScreen
spark.skins.spark.mediaClasses.normal
spark.skins.spark.windowChrome
spark.skins.wireframe
spark.skins.wireframe.mediaClasses
spark.skins.wireframe.mediaClasses.fullScreen
spark.transitions
spark.utils
spark.validators
spark.validators.supportClasses
xd.core.axm.enterprise.view.components
xd.core.axm.enterprise.view.skins
xd.core.axm.view.components
xd.core.axm.view.components.support

Elementy językowe

Stałe globalne
Funkcje globalne
Operatory
Instrukcje, słowa kluczowe i dyrektywy
Typy specjalne

Dodatki

Nowości
Błędy kompilatora
Ostrzeżenia kompilatora
Błędy czasu wykonywania
Migracja kodu ActionScript 3
Obsługiwane zestawy znaków
Tylko MXML
Elementy XML dotyczące ruchu
Znaczniki tekstu z synchronizacją czasową
Przestarzały indeks
Stałe implementacji dostępności
Instrukcje dotyczące przykładów
Informacje prawne
Pakietflash.data
Klasapublic class EncryptedLocalStore
DziedziczenieEncryptedLocalStore Inheritance Object

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0

Klasa EncryptedLocalStore (ELS) udostępnia mechanizm szyfrowanego magazynu lokalnego, który może służyć jako mały bufor danych prywatnych aplikacji.

Dane ELS nie mogą być współdzielone między aplikacjami. Zadaniem magazynu ELS jest umożliwienie aplikacji przechowywania elementów, które można łatwo utworzyć ponownie, takich jak poświadczenia logowania i inne informacje prywatne. Dane ELS nie mają charakteru trwałego. Zobacz „Ograniczenia szyfrowanego magazynu lokalnego” i „Sprawdzone procedury korzystania z magazynu ELS” poniżej.

Obsługa profilów AIR: Ta funkcja nie jest obsługiwana na urządzeniach telewizyjnych ze środowiskiem AIR. W czasie wykonywania można sprawdzić, czy funkcja jest obsługiwana, odczytując właściwość EncryptedLocalStore.isSupported. Więcej informacji o obsłudze elementów interfejsu API w różnych profilach można znaleźć w sekcji Obsługa profilów aplikacji AIR.

Środowisko AIR udostępnia szyfrowany magazyn lokalny (ELS, encrypted local store) dla każdej aplikacji AIR zainstalowanej na komputerze lub urządzeniu użytkownika. Magazyn taki umożliwia zapisywanie i pobieranie danych przechowywanych na lokalnym dysku twardym użytkownika w formacie zaszyfrowanym, którego inni użytkownicy nie są w stanie w prosty sposób rozszyfrować. Oddzielny szyfrowany magazyn lokalny jest stosowany dla każdej aplikacji AIR, a każda aplikacja AIR korzysta z odrębnego szyfrowanego magazynu danych dla każdego konta użytkownika na komputerze.

Szyfrowany magazyn lokalny jest przydatny do przechowywania informacji, które muszą być zabezpieczone, takie jak poświadczenia logowania dla usług Web Service. Szyfrowany magazyn lokalny nadaje się do przechowywania informacji, które nie powinny być ujawniane innym użytkownikom. Nie chroni on jednak danych przed innymi procesami działającymi w ramach tego samego konta użytkownika. Nie nadaje się zatem do ochrony tajnych danych aplikacji, takich jak informacje DRM lub klucze szyfrowania.

Do powiązania szyfrowanego magazynu lokalnego z każdą aplikacją i każdym użytkownikiem środowisko AIR używa interfejsu DPAPI w systemie Windows, KeyChain w systemach Mac OS i iOS oraz KeyRing lub KWallet w systemie Linux. Dane w szyfrowanym magazynie lokalnym są szyfrowane za pomocą algorytmu AES-CBC z kluczem 128-bitowym.

W systemie Android dane przechowywane w klasie EncryptedLocalStorage nie są szyfrowane. Zamiast tego dane są chronione za pomocą udostępnianego przez system operacyjny mechanizmu zabezpieczeń na poziomie użytkownika. System operacyjny Android przypisuje oddzielny identyfikator użytkownika do każdej aplikacji. Aplikacje mogą uzyskiwać dostęp tylko do plików własnych i utworzonych w lokalizacjach publicznych (takich jak wymienna karta pamięci). Na urządzeniach z systemem Android, które obsługują użytkownika root, aplikacje uruchomione z uprawnieniami tego użytkownika mogą uzyskiwać dostęp do plików innych aplikacji. Dlatego na takich urządzeniach zaszyfrowany magazyn lokalny nie oferuje tak wysokiego poziomu ochrony danych, jaki jest dostępny na urządzeniach bez użytkownika root.

Informacje o zaszyfrowanym magazynie lokalnym są dostępne tylko do treści aplikacji AIR w obszarze izolowanym bezpieczeństwa aplikacji.

W wypadku aktualizacji aplikacji AIR zaktualizowana wersja zachowuje dostęp do istniejących danych w szyfrowanym magazynie lokalnym, chyba że:

  • Elementy dodawano do magazynu z parametrem stronglyBound ustawionym na true.
  • Przestrzeń nazw środowiska AIR 3.2 uaktualniono do wersji AIR 3.3. (Lokalizacja zaszyfrowanego magazynu lokalnego jest inna w środowisku AIR 3.2 i AIR 3.3 w systemach Mac OS i Windows).
  • Zarówno dotychczasowa, jak i zaktualizowana wersja zostały opublikowane wcześniej niż wersja 1.5.3 środowiska AIR, a aktualizacja jest podpisana przy użyciu podpisu migracyjnego.

Ograniczenia szyfrowanego magazynu lokalnego

Dane w szyfrowanym magazynie lokalnym są chronione poświadczeniami konta użytkownika w systemie operacyjnym. Inne podmioty nie mogą uzyskać dostępu do danych w magazynie, chyba że mogą zalogować się jako odpowiedni użytkownik. Dane nie są jednak zabezpieczone przed dostępem innych aplikacji uruchomionych przez uwierzytelnionego użytkownika. Dlatego dane, które powinny być niejawne, takie jak klucze licencyjne czy klucze DRM, nie są zabezpieczone. Szyfrowany magazyn lokalny nie jest odpowiednim miejscem do przechowywania takich informacji. Jest on przeznaczony do przechowywania danych poufnych użytkownika, takich jak hasła.

Dane zapisane w szyfrowanym magazynie lokalnym mogą zostać z różnych przyczyn utracone. Na przykład użytkownik może odinstalować aplikację i usunąć zaszyfrowany plik. Ewentualnie, w wyniku aktualizacji, może ulec zmianie identyfikator wydawcy. Dlatego szyfrowany magazyn lokalny powinien być traktowany jako prywatna pamięć podręczna, a nie trwały magazyn danych.

Parametr stronglyBound ma status przestarzałego i nie należy go ustawiać na true. Ustawienie tego parametru na true nie zapewnia żadnej dodatkowej ochrony danych. Spowoduje natomiast, że po każdej aktualizacji aplikacji nastąpi utrata dostępu do danych — nawet jeśli identyfikator wydawcy nie ulegnie zmianie.

Zaszyfrowany magazyn lokalny może działać wolniej, jeśli wielkość zapisanych danych przekracza 10 MB.

Odinstalowując aplikację AIR, dezinstalator nie usuwa danych przechowywanych w szyfrowanym magazynie lokalnym.

Sprawdzone procedury korzystania z magazynu ELS

Dobre praktyki przy korzystaniu z szyfrowanego magazynu lokalnego:

  • Szyfrowanego magazynu lokalnego należy używać do przechowywania danych użytkownika objętych szczególną ochroną, np. haseł (ustawiając parametr stronglyBound na false).
  • W szyfrowanym magazynie lokalnym nie należy przechowywać tajnych informacji aplikacji, takich jak klucze DRM lub tokeny licencyjne.
  • Należy wyposażyć aplikację w mechanizm odtwarzania danych z szyfrowanego magazynu lokalnego, na wypadek gdyby doszło do ich utraty. Mechanizm ten może np. polegać na ponownym wyświetleniu monitu o wprowadzenie poświadczeń użytkownika.
  • Nie należy używać parametru stronglyBound.
  • Jeśli parametr stronglyBound zostanie ustawiony na true, przy aktualizacji aplikacji nie należy przeprowadzać migracji elementów zapisanych w magazynie. Po aktualizacji należy odtworzyć dane.
  • W szyfrowanym magazynie lokalnym należy przechowywać dane o stosunkowo niewielkiej objętości. Do przechowywania dużych ilości danych należy użyć szyfrowanej bazy danych SQL środowiska AIR.

Elementy szyfrowanego magazynu lokalnego są identyfikowane za pomocą ciągów znaków. Wszystkie elementy są przechowywane jako dane w tablicy bajtów.

Wyświetl przykłady



Właściwości publiczne
 WłaściwośćZdefiniowane przez
 Inheritedconstructor : Object
Odwołanie do obiektu klasy lub funkcji konstruktora, dotyczące danej instancji obiektu.
Object
      isSupported : Boolean
[statyczny] [tylko do odczytu] Właściwość isSupported ma wartość true, jeśli na bieżącej platformie jest obsługiwana klasa EncryptedLocalStore; w przeciwnym razie ma wartość false.
EncryptedLocalStore
Metody publiczne
 MetodaZdefiniowane przez
  
    getItem(name:String):ByteArray
[statyczny] Dane odpowiadające określonej nazwie.
EncryptedLocalStore
 Inherited
Wskazuje, czy dla obiektu zdefiniowano określoną właściwość.
Object
 Inherited
Wskazuje, czy instancja klasy Object należy do łańcucha prototypów obiektu określonego jako parametr.
Object
 Inherited
Wskazuje, czy określona właściwość istnieje i jest przeliczalna.
Object
  
    removeItem(name:String):void
[statyczny] Usuwa element o określonej nazwie z szyfrowanego magazynu lokalnego.
EncryptedLocalStore
  
    reset():void
[statyczny] Czyści cały szyfrowany magazyn lokalny, usuwając wszystkie dane.
EncryptedLocalStore
  
    setItem(name:String, data:ByteArray, stronglyBound:Boolean = false):void
[statyczny] Zapisuje obiekt ByteArray pod określoną nazwą.
EncryptedLocalStore
 Inherited
Ustawia dostępność właściwości dynamicznej używanej w pętlach.
Object
 Inherited
Zwraca ciąg reprezentujący obiekt — sformatowany zgodnie z konwencjami właściwymi dla ustawień regionalnych.
Object
 Inherited
Zwraca ciąg reprezentujący określony obiekt.
Object
 Inherited
Zwraca pierwotną wartość dla określonego obiektu.
Object
Szczegół właściwości
    

isSupported

właściwość
isSupported:Boolean  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 2

Właściwość isSupported ma wartość true, jeśli na bieżącej platformie jest obsługiwana klasa EncryptedLocalStore; w przeciwnym razie ma wartość false.



Implementacja
    public static function get isSupported():Boolean
Szczegół metody

    getItem

()metoda
public static function getItem(name:String):ByteArray

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0

Dane odpowiadające określonej nazwie.

Jeśli element o określonej nazwie nie istnieje, metoda zwróci wartość null.

Parametry

name:String — Nazwa elementu w szyfrowanym magazynie lokalnym.

Zwraca
ByteArray — Dane tablicy ByteArray. Jeśli brak danych elementu określonego parametrem name, metoda zwraca wartość null.

Zgłasza
ArgumentError — Wartość name jest równa null lub jest pustym ciągiem.

    removeItem

()metoda 
public static function removeItem(name:String):void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0

Usuwa element o określonej nazwie z szyfrowanego magazynu lokalnego.

Parametry

name:String — Nazwa elementu w szyfrowanym magazynie lokalnym.


Zgłasza
ArgumentError — Wartość name jest równa null lub jest pustym ciągiem.

    reset

()metoda 
public static function reset():void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0

Czyści cały szyfrowany magazyn lokalny, usuwając wszystkie dane.

    setItem

()metoda 
public static function setItem(name:String, data:ByteArray, stronglyBound:Boolean = false):void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0

Zapisuje obiekt ByteArray pod określoną nazwą.

Parametry

name:String — Nazwa elementu w szyfrowanym magazynie lokalnym.
 
data:ByteArray — Dane.
 
stronglyBound:Boolean (default = false) — (przestarzały) Parametr stronglyBound powinien być zawsze ustawiony na false (wartość domyślna). Jeśli ten parametr będzie ustawiony na true, po zmianie któregokolwiek z plików aplikacji odczytanie zapisanego elementu nie będzie możliwe. Jeśli na przykład użytkownik zainstaluje aktualizację aplikacji, zaktualizowana aplikacja nie będzie mogła odczytać ściśle powiązanych danych (stronglyBound=true), które zostały wcześniej zapisane w szyfrowanym magazynie lokalnym.


Zgłasza
ArgumentError — Wartość name jest równa null lub jest pustym ciągiem znaków.
 
ArgumentError — Wartość data jest równa null.
EncryptedLocalStore.1.as

Poniższy kod zapisuje ciąg znaków w zaszyfrowanym magazynie lokalnym, odczytuje ten ciąg, a następnie go usuwa:
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");




[ X ]Dlaczego język angielski?
Treść dokumentacji języka ActionScript 3.0 wyświetlana w języku angielskim

Niektóre części dokumentacji języka ActionScript 3.0 nie są przetłumaczone na poszczególne języki. Gdy element nie jest przetłumaczony na dany język, jest wyświetlany tekst angielski. Na przykład opis klasy ga.controls.HelpBox nie jest przetłumaczony na żaden dodatkowy język. Z tego powodu polska wersja dokumentacji zawiera opis klasy ga.controls.HelpBox w języku angielskim.