Secure Storage


Contents

Secure Storage는 3.1.1 버전 이상 부터 제공되며 해당 라이브러리를 추가하여 사용해야 된다.

Secure 는 디바이스 데이터베이스를 암호화하여 저장하고 읽어오는 기능을 제공한다.
확장 프레임워크 파일을 추가하여 사용할 수 있으며 추가 방법은 iOS 개발 가이드 의 내용을 참조한다.


get

암호화 저장소로부터 데이터 얻어오는 기능이며 호출 방법은 다음과 같다.

Example

///////////////
// 3.10.18 이상
///////////////
let api = DAPSecure()
let param = DAPSecureStorageGetParam()
param.key = "secureKey"
api.execute(with: param, completion: { (dict) in
   
}) { (resultError) in
   
}


///////////////
// 3.10.18 이하
///////////////
let api = DAPSecure()
let params = ["secureKey"]
api.execute(withActionName: "get", params: params, completion: { (dict) in
   guard let resultDict = dict else {
       return
    }

}) { (resultError) in
   guard let error = resultError else {
       return
    }
}

///////////////
// 3.10.18 이상
///////////////
DAPDeviceAPI *deviceAPI = [DAPSecure new];
DAPSecureStorageGetParam *infoParam = [DAPSecureStorageGetParam new];
infoParam.key = @"secureKey";
[deviceAPI executeWithParam:infoParam completion:^(NSDictionary *resultDict) {
   NSString *deviceResult = [resultDict objectForKey:kDeviceResult];
    NSLog(@"deviceResult : %@", deviceResult);
} failure:^(NSError *error) {
    NSLog(@"error : %@", [error userInfo]);
}];


///////////////
// 3.10.18 이하
///////////////
DAPDeviceAPI *deviceAPI = [DAPSecure new];
NSArray *params = [NSArray arrayWithObjects:@"secureKey", [HMPCommonUtil deviceAPIWithServiceName:kNetwork], nil];
[deviceAPI executeWithActionName:@"get" params:params completion:^(NSDictionary *resultDict) {
    NSLog(@"%s %d\nresultDict %@", __PRETTY_FUNCTION__, __LINE__, resultDict);
} failure:^(NSError *error) {
    NSLog(@"%s %d\nerror %@", __PRETTY_FUNCTION__, __LINE__, error);
}];

set

암호화 저장소로 데이터를 저장하는 기능이며 호출 방법은 다음과 같다.

Example

///////////////
// 3.10.18 이상
///////////////
let api = DAPSecure()
let param = DAPSecureStorageSetParam()
param.key = "secureKey"
param.value = "secureValue"
api.execute(with: param, completion: { (dict) in
   
}) { (resultError) in
   
}


///////////////
// 3.10.18 이하
///////////////
let api = DAPSecure()
let params = ["secureKey", "secureValue"]
api.execute(withActionName: "set", params: params, completion: { (dict) in
   guard let resultDict = dict else {
       return
    }

}) { (resultError) in
   guard let error = resultError else {
       return
    }
}

///////////////
// 3.10.18 이상
///////////////
DAPDeviceAPI *deviceAPI = [DAPSecure new];
DAPSecureStorageSetParam *infoParam = [DAPSecureStorageSetParam new];
infoParam.key = @"secureKey";
infoParam.value = @"test-value";
[deviceAPI executeWithParam:infoParam completion:^(NSDictionary *resultDict) {
   NSString *deviceResult = [resultDict objectForKey:kDeviceResult];
    NSLog(@"deviceResult : %@", deviceResult);
} failure:^(NSError *error) {
    NSLog(@"error : %@", [error userInfo]);
}];



///////////////
// 3.10.18 이하
///////////////
DAPDeviceAPI *deviceAPI = [DAPSecure new];
NSArray *params = [NSArray arrayWithObjects:@"secureKey", @"test", [HMPCommonUtil deviceAPIWithServiceName:kNetwork], nil];
[deviceAPI executeWithActionName:@"set" params:params completion:^(NSDictionary *resultDict) {
    NSLog(@"%s %d\nresultDict %@", __PRETTY_FUNCTION__, __LINE__, resultDict);
} failure:^(NSError *error) {
    NSLog(@"%s %d\nerror %@", __PRETTY_FUNCTION__, __LINE__, error);
}];

remove

암호화 저장소에 저장되어 있는 데이터 삭제 기능이며 호출 방법은 다음과 같다.

Example

///////////////
// 3.10.18 이상
///////////////
let api = DAPSecure()
let param = DAPSecureStorageRemoveParam()
param.key = "secureKey"
api.execute(with: param, completion: { (dict) in
   
}) { (resultError) in
   
}


///////////////
// 3.10.18 이하
///////////////
let api = DAPSecure()
let params = ["secureKey"]
api.execute(withActionName: "remove", params: params, completion: { (dict) in
   guard let resultDict = dict else {
       return
    }

}) { (resultError) in
   guard let error = resultError else {
       return
    }
}

///////////////
// 3.10.18 이상
///////////////
DAPDeviceAPI *deviceAPI = [DAPSecure new];
DAPSecureStorageRemoveParam *infoParam = [DAPSecureStorageRemoveParam new];
infoParam.key = @"secureKey";
[deviceAPI executeWithParam:infoParam completion:^(NSDictionary *resultDict) {
   NSString *deviceResult = [resultDict objectForKey:kDeviceResult];
    NSLog(@"deviceResult : %@", deviceResult);
} failure:^(NSError *error) {
    NSLog(@"error : %@", [error userInfo]);
}];


///////////////
// 3.10.18 이하
///////////////
DAPDeviceAPI *deviceAPI = [DAPSecure new];
NSArray *params = [NSArray arrayWithObjects:@"secureKey", [HMPCommonUtil deviceAPIWithServiceName:kNetwork], nil];
[deviceAPI executeWithActionName:@"remove" params:params completion:^(NSDictionary *resultDict) {
    NSLog(@"%s %d\nresultDict %@", __PRETTY_FUNCTION__, __LINE__, resultDict);
} failure:^(NSError *error) {
    NSLog(@"%s %d\nerror %@", __PRETTY_FUNCTION__, __LINE__, error);
}];