Showing
6 changed files
with
232 additions
and
1 deletions
HHVDoctorSDK/SecurityKit.framework/.DS_Store
0 → 100755
No preview for this file type
| 1 | +// | ||
| 2 | +// NTESSecurityKit.h | ||
| 3 | +// NTESSecurityKit | ||
| 4 | +// | ||
| 5 | +// Created by NetEase on 17/5/30. | ||
| 6 | +// Copyright © 2017年 NetEase. All rights reserved. | ||
| 7 | +// | ||
| 8 | + | ||
| 9 | +#import <Foundation/Foundation.h> | ||
| 10 | + | ||
| 11 | +typedef NS_ENUM(NSInteger, NSSKSecurityError){ | ||
| 12 | + NSSKSecurityInvalidParameterError = 1, // 输入无效参数 | ||
| 13 | + NSSKSecurityBundleIDMismatchError , // Bundle Identifier不匹配 | ||
| 14 | + NSSKSecurityProtocolError , // 数据格式错误 | ||
| 15 | + NSSKSecurityInvalidSeverDataError , // 服务器的数据被篡改 | ||
| 16 | + NSSKSecurityUnkownError , | ||
| 17 | + NSSKSecurityKeyExistError , // 本地数据索引已存在 | ||
| 18 | + NSSKSecurityKeyDoesNotExistError , // 本地数据索引不存在 | ||
| 19 | + NSSKSecurityFileOperationError , // 本地数据文件操作失败 | ||
| 20 | + NSSKSecurityDataEncryptDecryptError , // 数据加解密失败 | ||
| 21 | + NSSKSecurityKeyError , // 密钥错误 | ||
| 22 | + NSSKSecurityOutofValidPeriodError , // 超出使用期错误 | ||
| 23 | + NSSKSecurityWhiteBoxEncryptError , // 白盒加密错误 | ||
| 24 | + NSSKSecurityWhiteBoxDecryptError , // 白盒解密错误 | ||
| 25 | +}; | ||
| 26 | + | ||
| 27 | +@interface NTESSecurityKit : NSObject | ||
| 28 | + | ||
| 29 | +/** | ||
| 30 | + * 单例 | ||
| 31 | + * | ||
| 32 | + * @return NTESSecurityKit对象 | ||
| 33 | + */ | ||
| 34 | ++ (NTESSecurityKit *)sharedInstance; | ||
| 35 | + | ||
| 36 | +/** | ||
| 37 | + * 客户端对输入的明文数据进行加密,然后返回密文,这个密文是发送到服务器的 | ||
| 38 | + * | ||
| 39 | + * @param input 需要加密保护的字符串数据 | ||
| 40 | + * @param error 如果加密出现错误,error会被设置, error的code对应 NSSKSecurityError;接口返回值为nil。 | ||
| 41 | + * | ||
| 42 | + * @return 加密的结果,UTF-8编码 | ||
| 43 | + * @说明 (1)在调用该接口前,确定已调用 sharedInstance | ||
| 44 | + */ | ||
| 45 | +- (NSString *)encryptStringToServer:(NSString *)input error:(NSError **)error; | ||
| 46 | + | ||
| 47 | +/** | ||
| 48 | + * 客户端对输入的密文数据(密文来自服务器)进行解密,然后返回明文 | ||
| 49 | + * | ||
| 50 | + * @param input 需要解密还原的字符串数据 | ||
| 51 | + * @param error 如果解密出现错误,error会被设置, error的code对应 NSSKSecurityError;接口返回值为nil。 | ||
| 52 | + * | ||
| 53 | + * @return 解密的结果,UTF-8编码 | ||
| 54 | + * @说明 (1)在调用该接口前,确定已调用 sharedInstance; (2)输入参数input是来自服务器返回的加密结果 | ||
| 55 | + */ | ||
| 56 | +- (NSString *)decryptStringFromServer:(NSString *)input error:(NSError **)error; | ||
| 57 | + | ||
| 58 | +/** | ||
| 59 | + * 客户端对输入的Binary数据进行加密,然后返回密文,该密文用于发送至服务端 | ||
| 60 | + * | ||
| 61 | + * @param input 需要加密保护的Binary数据 | ||
| 62 | + * @param error 如果加密出现错误,error会被设置, error的code对应 NSSKSecurityError;接口返回值为nil。 | ||
| 63 | + | ||
| 64 | + * @return 加密的结果,UTF-8编码 | ||
| 65 | + * @说明 (1)在调用该接口前,确定已调用 sharedInstance | ||
| 66 | + */ | ||
| 67 | +- (NSString *)encryptBinaryToServer:(NSData *)input error:(NSError **)error; | ||
| 68 | + | ||
| 69 | +/** | ||
| 70 | + * 客户端对输入的密文数据(密文来自服务器)进行解密,然后返回解密后的Binary | ||
| 71 | + * | ||
| 72 | + * @param input 需要解密还原的字符串数据 | ||
| 73 | + * @param error 如果解密出现错误,error会被设置, error的code对应 NSSKSecurityError;接口返回值为nil。 | ||
| 74 | + * | ||
| 75 | + * @return 解密的结果,Binary数据 | ||
| 76 | + * @说明 (1)在调用该接口前,确定已调用 sharedInstance; (2)输入参数input是来自服务器返回的加密结果 | ||
| 77 | + */ | ||
| 78 | +- (NSData *)decryptBinaryFromServer:(NSString *)input error:(NSError **)error; | ||
| 79 | + | ||
| 80 | +/** | ||
| 81 | + * SDK将需要加密存储的字符串进行加密,并存储在本地 | ||
| 82 | + * | ||
| 83 | + * @param input 需要加密存储的字符串 | ||
| 84 | + * @param key 用户自定义的key,用于索引本地数据 | ||
| 85 | + * @param error 如果加密或存储出现错误,error将会被设置,error的code对应 NSSKSecurityError;接口返回NO | ||
| 86 | + * | ||
| 87 | + * @return 加密存储是否成功,成功返回YES,失败返回NO | ||
| 88 | + * @说明 (1)在调用该接口前,确定已调用 sharedInstance; | ||
| 89 | + */ | ||
| 90 | +- (BOOL)putString:(NSString *)input key:(NSString *)key error:(NSError **)error; | ||
| 91 | + | ||
| 92 | +/** | ||
| 93 | + * 取出存储在本地的字符串,返回解密后的明文 | ||
| 94 | + * | ||
| 95 | + * @param key 用户自定义的key,用于索引本地数据 | ||
| 96 | + * @param error 如果取出本地存储的数据出现错误,error将会被设置,error的code对应 NSSKSecurityError;接口返回nil | ||
| 97 | + * | ||
| 98 | + * @return 本地存储的对应于key的数据,数据将被解密,返回解密后的明文 | ||
| 99 | + * @说明 (1)在调用该接口前,确定已调用 sharedInstance; | ||
| 100 | + */ | ||
| 101 | +- (NSString *)getString:(NSString *)key error:(NSError **)error; | ||
| 102 | + | ||
| 103 | +/** | ||
| 104 | + * 更新本地存储的字符串数据 | ||
| 105 | + * | ||
| 106 | + * @param input 更新的字符串 | ||
| 107 | + * @param key 用户自定义的key,用于索引本地数据 | ||
| 108 | + * @param error 如果加密或存储出现错误,error将会被设置,error的code对应 NSSKSecurityError;接口返回NO | ||
| 109 | + * | ||
| 110 | + * @return 加密存储是否成功,成功返回YES,失败返回NO | ||
| 111 | + * @说明 (1)在调用该接口前,确定已调用 sharedInstance; | ||
| 112 | + */ | ||
| 113 | +- (BOOL)updateString:(NSString *)input key:(NSString *)key error:(NSError **)error; | ||
| 114 | +/** | ||
| 115 | + * 删除存储在本地的字符串 | ||
| 116 | + * | ||
| 117 | + * @param key 用户自定义的key,用于索引本地数据 | ||
| 118 | + * @param error 如果删除本地存储的数据出现错误,error将会被设置,error的code对应 NSSKSecurityError;接口返回NO | ||
| 119 | + * | ||
| 120 | + * @return 删除本地存储的数据是否成功,成功返回YES,失败返回NO | ||
| 121 | + * @说明 (1)在调用该接口前,确定已调用 sharedInstance; | ||
| 122 | + */ | ||
| 123 | +- (BOOL)removeString:(NSString *)key error:(NSError **)error; | ||
| 124 | + | ||
| 125 | +/** | ||
| 126 | + * SDK将需要加密存储的Binary进行加密,并存储在本地 | ||
| 127 | + * | ||
| 128 | + * @param input 需要加密存储的Binary | ||
| 129 | + * @param key 用户自定义的key,用于索引本地数据 | ||
| 130 | + * @param error 如果加密或存储出现错误,error将会被设置,error的code对应 NSSKSecurityError;接口返回NO | ||
| 131 | + * | ||
| 132 | + * @return 加密存储是否成功,成功返回YES,失败返回NO | ||
| 133 | + * @说明 (1)在调用该接口前,确定已调用 sharedInstance; | ||
| 134 | + */ | ||
| 135 | +- (BOOL)putBinary:(NSData *)input key:(NSString *)key error:(NSError **)error; | ||
| 136 | + | ||
| 137 | +/** | ||
| 138 | + * 取出存储在本地的Binary数据,返回解密后的明文 | ||
| 139 | + * | ||
| 140 | + * @param key 用户自定义的key,用于索引本地数据 | ||
| 141 | + * @param error 如果取出本地存储的数据出现错误,error将会被设置,error的code对应 NSSKSecurityError;接口返回nil | ||
| 142 | + * | ||
| 143 | + * @return 本地存储的对应于key的数据,数据将被解密,返回解密后的明文 | ||
| 144 | + * @说明 (1)在调用该接口前,确定已调用 sharedInstance; | ||
| 145 | + */ | ||
| 146 | +- (NSData *)getBinary:(NSString *)key error:(NSError **)error; | ||
| 147 | + | ||
| 148 | +/** | ||
| 149 | + * 更新本地存储的Binary数据 | ||
| 150 | + * | ||
| 151 | + * @param input 更新的Binary | ||
| 152 | + * @param key 用户自定义的key,用于索引本地数据 | ||
| 153 | + * @param error 如果加密或存储出现错误,error将会被设置,error的code对应 NSSKSecurityError;接口返回NO | ||
| 154 | + * | ||
| 155 | + * @return 加密存储是否成功,成功返回YES,失败返回NO | ||
| 156 | + * @说明 (1)在调用该接口前,确定已调用 sharedInstance; | ||
| 157 | + */ | ||
| 158 | +- (BOOL)updateBinary:(NSData *)input key:(NSString *)key error:(NSError **)error; | ||
| 159 | +/** | ||
| 160 | + * 删除存储在本地的Binary数据 | ||
| 161 | + * | ||
| 162 | + * @param key 用户自定义的key,用于索引本地数据 | ||
| 163 | + * @param error 如果删除本地存储的数据出现错误,error将会被设置,error的code对应 NSSKSecurityError;接口返回NO | ||
| 164 | + * | ||
| 165 | + * @return 删除本地存储的数据是否成功,成功返回YES,失败返回NO | ||
| 166 | + * @说明 (1)在调用该接口前,确定已调用 sharedInstance; | ||
| 167 | + */ | ||
| 168 | +- (BOOL)removeBinary:(NSString *)key error:(NSError **)error; | ||
| 169 | + | ||
| 170 | +/** | ||
| 171 | + * SDK将明文白盒加密,返回密文 | ||
| 172 | + * @param input 需要加密保护的字符串数据 | ||
| 173 | + * @param error 如果加密出现错误,error会被设置, error的code对应 NSSKSecurityError;接口返回值为nil | ||
| 174 | + * | ||
| 175 | + * @return 加密的结果 | ||
| 176 | +* @说明 (1)在调用该接口前,确定已调用 sharedInstance | ||
| 177 | + */ | ||
| 178 | +- (NSString *)getWBEncryptString:(NSString *)input error:(NSError **)error; | ||
| 179 | + | ||
| 180 | +/** | ||
| 181 | + * SDK将白盒加密的密文,通过白盒解密,返回解密后的明文 | ||
| 182 | + * | ||
| 183 | + * @param input 需要解密还原的字符串数据 | ||
| 184 | + * @param error 如果解密出现错误,error会被设置, error的code对应 NSSKSecurityError;接口返回值为nil。 | ||
| 185 | + * | ||
| 186 | + * @return 解密的结果 | ||
| 187 | + * @说明 (1)在调用该接口前,确定已调用 sharedInstance; | ||
| 188 | + */ | ||
| 189 | +- (NSString *)getWBDecryptString:(NSString *)input error:(NSError **)error; | ||
| 190 | + | ||
| 191 | +/** | ||
| 192 | + * 客户端对输入的Binary数据进行白盒加密,返回白盒密文 | ||
| 193 | + * | ||
| 194 | + * @param input 需要加密保护的Binary数据 | ||
| 195 | + * @param error 如果加密出现错误,error会被设置, error的code对应 NSSKSecurityError;接口返回值为nil。 | ||
| 196 | + | ||
| 197 | + * @return 加密的结果 | ||
| 198 | + * @说明 (1)在调用该接口前,确定已调用 sharedInstance | ||
| 199 | + */ | ||
| 200 | +- (NSString *)getWBEncryptBinary:(NSData *)input error:(NSError **)error; | ||
| 201 | + | ||
| 202 | +/** | ||
| 203 | + * 客户端对输入的白盒密文进行解密,然后返回解密后的Binary | ||
| 204 | + * | ||
| 205 | + * @param input 需要解密还原的字符串数据 | ||
| 206 | + * @param error 如果解密出现错误,error会被设置, error的code对应 NSSKSecurityError;接口返回值为nil。 | ||
| 207 | + * | ||
| 208 | + * @return 解密的结果,Binary数据 | ||
| 209 | + * @说明 (1)在调用该接口前,确定已调用 sharedInstance; (2)输入参数input是来自服务器返回的加密结果 | ||
| 210 | + */ | ||
| 211 | +- (NSData *)getWBDecryptBinary:(NSString *)input error:(NSError **)error; | ||
| 212 | + | ||
| 213 | +/* 查看SDK的版本号 | ||
| 214 | + * | ||
| 215 | + * @return SDK的版本信息 | ||
| 216 | + */ | ||
| 217 | +- (NSString *)sdkVersion; | ||
| 218 | + | ||
| 219 | +/* 判断设备是否越狱 | ||
| 220 | + * | ||
| 221 | + * @return, BOOL YES:越狱;NO:非越狱 | ||
| 222 | + */ | ||
| 223 | +- (BOOL)isJailbreak; | ||
| 224 | + | ||
| 225 | +@end |
No preview for this file type
No preview for this file type
-
Please register or login to post a comment