//
|
// ISecurityGuardOpenSafeToken.h
|
// SecurityGuardMain
|
//
|
// Created by chenkong on 15/12/17.
|
// Copyright © 2015年 Li Fengzhong. All rights reserved.
|
//
|
|
#ifndef ISecurityGuardOpenSafeToken_h
|
#define ISecurityGuardOpenSafeToken_h
|
|
#if TARGET_OS_WATCH
|
#import <SecurityGuardSDKWatch/Open/IOpenSecurityGuardPlugin.h>
|
#else
|
#import <SecurityGuardSDK/Open/IOpenSecurityGuardPlugin.h>
|
#endif
|
|
@protocol ISecurityGuardOpenSafeToken <NSObject, IOpenSecurityGuardPluginInterface>
|
|
/**
|
* 存储token
|
* @param value 存储的value
|
* @param key token值对应的key
|
* @return 存储操作的结果
|
*/
|
- (BOOL) saveToken: (NSString*) value
|
forKey: (NSString*) key
|
additional: (NSString*) additional
|
flag: (int) flag;
|
|
/**
|
* 检测token是否存在
|
* @param key string值对应的key
|
* @return 检测token是否存在的结果
|
*/
|
- (BOOL) isTokenExist: (NSString*) key;
|
|
/**
|
* 删除本地存储的token
|
* @param key 存储值要使用的key
|
* @return 存储操作结果
|
*/
|
- (void) removeToken: (NSString*) key;
|
|
/**
|
* 使用token加密数据
|
* @param key token值对应的key
|
* @param plaintext 待加密的byte数组
|
* @param flag 扩展参数,缺省为0
|
* @return 返回加密结果,加密失败返回nil
|
*/
|
- (NSData*) encryptWithToken: (NSString*) key
|
inputData: (NSData*) plaintext
|
flag: (int) flag;
|
|
/**
|
* 使用token解密数据
|
* @param key token值对应的key
|
* @param encrypted 待解密的数据
|
* @param flag 扩展参数,缺省为0
|
* @return 返回解密结果,解密失败返回nil
|
*/
|
- (NSData*) decryptWithToken: (NSString*) key
|
inputData: (NSData*) encrypted
|
flag: (int) flag;
|
|
/**
|
* 使用token对数据进行签名
|
* @param key token值对应的key
|
* @param data 待签名的byte数组
|
* @param flag 扩展参数,缺省为0
|
* @return 返回签名结果,签名失败返回nil
|
*/
|
- (NSString*) signWithToken: (NSString*) key
|
inputData: (NSData*) data
|
flag: (int) flag;
|
|
|
/**
|
* 获取Otp验证码,目前只适用于支付宝钱包
|
* @param key token值对应的key
|
* @param flag 对应不同的算法和配置,目前只支持0,即支付宝的otp算法
|
* @param strings 传入具体的参数。根据支付宝OTP的要求,需要传入:servertime、codetype和可扩展的extinfo参数。其中,servertime 需要是大于0的长整形,codetype只允许“0”和“1”,extinfo可为空
|
* @param byteArgs 扩展字段,暂未使用
|
* @return 返回长度为18或者16的byte数组,失败返回nil
|
*/
|
- (NSData*) getOtp: (NSString*) key
|
flag: (int) flag
|
strings: (NSArray*) strings
|
byteArgs: (NSData*) byteArgs;
|
|
/**
|
* 获取Otp验证码,目前只适用于支付宝钱包
|
* @param key token值对应的key
|
* @param flag 对应不同的算法和配置,目前只支持0,即支付宝的otp算法
|
* @param strings 传入具体的参数。根据支付宝OTP的要求,需要传入:servertime、codetype和可扩展的extinfo参数。其中,servertime 需要是大于0的长整形,codetype只允许“0”和“1”,extinfo可为空
|
* @param byteArgs 扩展字段,暂未使用
|
* @return 返回长度为18或者16的byte数组,失败返回nil
|
*/
|
- (NSData*) getOtp: (NSString*) key
|
flag: (int) flag
|
strings: (NSArray*) strings
|
byteArgs: (NSData*) byteArgs
|
authCode: (NSString*) authCode;
|
|
|
@end
|
|
#endif /* ISecurityGuardOpenSafeToken_h */
|