(AIR만 해당)
패키지flash.data
클래스public class EncryptedLocalStore
상속EncryptedLocalStore Inheritance Object

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0

EncryptedLocalStore 클래스는 AIR 응용 프로그램의 암호화된 로컬 데이터 저장소에서 객체를 설정하고 가져오기 위한 메서드를 제공합니다. 사용자 컴퓨터에 설치된 각 AIR 응용 프로그램에 대해 암호화된 영구 로컬 저장소를 사용할 수 있습니다. 따라서 사용자의 로컬 하드 드라이브에 다른 응용 프로그램이나 사용자가 해독할 수 없는 암호화된 형식으로 저장된 데이터를 저장 및 검색할 수 있습니다. 각 AIR 응용 프로그램에 대해 별도의 암호화된 로컬 저장소가 사용되며 각 AIR 응용 프로그램에서 각 사용자에 대해 별도의 로컬 저장소를 사용합니다.

암호화된 로컬 저장소를 사용하여 웹 서비스의 로그인 자격 증명과 같은 보호해야 하는 정보를 저장할 수 있습니다.

ADL(AIR Debug Launcher)에서 응용 프로그램을 테스트할 때 응용 프로그램은 설치된 AIR 응용 프로그램에서 사용하는 것과 다른 암호화된 로컬 저장소를 사용합니다.

AIR에서는 DPAPI(Windows®), KeyChain(Mac® OS®) 및 KeyRing 또는 KWallet(Linux®)을 사용하여 암호화된 로컬 저장소를 각 응용 프로그램 및 사용자와 연결합니다. 암호화된 로컬 저장소는 AES-CBC 128비트 암호화를 사용합니다.

암호화된 로컬 저장소의 정보는 응용 프로그램 보안 샌드박스의 AIR 응용 프로그램 콘텐츠에만 사용할 수 있습니다.

암호화된 로컬 저장소의 항목은 문자열로 식별됩니다. 모든 항목은 바이트 배열 데이터로 저장됩니다.

암호화된 로컬 저장소는 저장된 데이터가 10MB를 초과할 경우 속도가 느려질 수 있습니다.

AIR 응용 프로그램을 제거해도 암호화된 로컬 저장소에 저장된 데이터가 삭제되지는 않습니다.

암호화된 로컬 저장소 데이터는 사용자 응용 프로그램 데이터 디렉토리의 하위 디렉토리에 저장되며 이 하위 디렉토리 경로는 Adobe/AIR/ELS/ 다음에 응용 프로그램 ID가 붙는 경로입니다.

예제 보기



Public 속성
 속성다음에 의해 정의됨
 Inheritedconstructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다.
Object
 Inheritedprototype : Object
[정적] 클래스 또는 함수 객체의 프로토타입 객체에 대한 참조입니다.
Object
Public 메서드
 메서드다음에 의해 정의됨
  
[정적] 암호화된 로컬 저장소에서 지정한 이름의 항목에 대한 데이터를 반환합니다.
EncryptedLocalStore
 Inherited
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다.
Object
 Inherited
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다.
Object
 Inherited
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다.
Object
  
[정적] 암호화된 로컬 저장소에서 지정된 이름의 항목을 제거합니다.
EncryptedLocalStore
  
[정적] 암호화된 로컬 저장소 전체를 지우고 모든 데이터를 삭제합니다.
EncryptedLocalStore
  
AIR-only setItem(name:String, data:ByteArray, stronglyBound:Boolean = false):void
[정적] 지정된 이름의 항목을 제공된 ByteArray 데이터로 설정합니다.
EncryptedLocalStore
 Inherited
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다.
Object
 Inherited
지정된 객체의 문자열 표현을 반환합니다.
Object
 Inherited
지정된 객체의 프리미티브 값을 반환합니다.
Object
메서드 정보
AIR-only getItem()메서드
public static function getItem(name:String):ByteArray

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0

암호화된 로컬 저장소에서 지정한 이름의 항목에 대한 데이터를 반환합니다. 지정한 이름의 항목이 없는 경우 이 메서드는 null을 반환합니다.

매개 변수

name:String — 암호화된 로컬 저장소에 있는 항목의 이름입니다.

반환값
ByteArray — ByteArray 데이터입니다. 지정한 name에 대한 데이터가 없는 경우 메서드는 null을 반환합니다.

오류
ArgumentError name 값이 null 또는 빈 문자열입니다.
AIR-only removeItem()메서드 
public static function removeItem(name:String):void

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0

암호화된 로컬 저장소에서 지정된 이름의 항목을 제거합니다.

매개 변수

name:String — 암호화된 로컬 저장소에 있는 항목의 이름입니다.


오류
ArgumentError name 값이 null 또는 빈 문자열입니다.
AIR-only reset()메서드 
public static function reset():void

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0

암호화된 로컬 저장소 전체를 지우고 모든 데이터를 삭제합니다.

AIR-only setItem()메서드 
public static function setItem(name:String, data:ByteArray, stronglyBound:Boolean = false):void

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0

지정한 이름의 항목을 제공된 ByteArray data로 설정합니다.

매개 변수

name:String — 암호화된 로컬 저장소에 있는 항목의 이름입니다.
 
data:ByteArray — 데이터입니다.
 
stronglyBound:Boolean (default = false)true로 설정하면 저장된 항목이 AIR 응용 프로그램의 배급자 ID 외에도 응용 프로그램의 디지털 서명 및 비트에도 강력하게 바인딩됩니다. 이후에 이 항목에 대해 getItem()을 호출하면 호출하는 AIR 응용 프로그램의 비트가 저장하는 응용 프로그램의 비트와 일치하지 않는 경우 런타임 예외가 발생합니다. 응용 프로그램을 업데이트하는 경우 이 응용 프로그램에서는 암호화된 로컬 저장소에 이전에 작성되었으며 강력하게 바인딩된 데이터를 읽을 수 없습니다.


오류
ArgumentError name 값이 null 또는 빈 문자열입니다.

기본적으로 AIR 응용 프로그램은 다른 응용 프로그램의 암호화된 로컬 저장소를 읽을 수 없습니다. stronglyBound 설정은 공격자 응용 프로그램에서 사용자 응용 프로그램의 배급자 ID를 강탈하여 응용 프로그램의 암호화된 로컬 저장소를 읽지 못하도록 응용 프로그램 비트의 데이터에 대한 추가 바인딩을 제공합니다.

예제 예제 사용 방법
EncryptedLocalStore.1.as

다음 코드에서는 암호화된 로컬 저장소에 문자열을 저장하고 검색한 다음 삭제합니다.
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");