更新记录
0.6.0(2025-08-14)
发布0.6.0版本,支持鸿蒙NEXT。统一返回UTSJSONObject 对象。
0.5.1(2025-03-21)
修复bug :android 12+ 版本才能调用启用设备验证的方法。否则,报错找不到方法。
0.5.0(2025-02-21)
首次发布
查看更多平台兼容性
云端兼容性
阿里云 | 腾讯云 | 支付宝云 |
---|---|---|
√ | √ | √ |
uni-app x(4.61)
Chrome | Safari | Android | Android插件版本 | iOS | 鸿蒙 | 鸿蒙插件版本 | 微信小程序 |
---|---|---|---|---|---|---|---|
× | × | 8.0 | 0.6.0 | × | 12 | 0.6.0 | × |
bsx-keystore 一款UTS API插件,实现APP端安全的存储KEY-VAL
0.6.0 重要变更
- 支持鸿蒙NEXT
- 统一返回UTSJSONObject对象
{ status: string, message: string }
建议和说明
- 可以从服务端加密传输key\token 客户端解密存储到安全资产管理;客户端使用时从本地资产中读取
- 重要资产token 务必定时更换
- 做好客户端其他方面的安全项目(SSL加密传输重要资产、禁止vpn\代理、禁止模拟器运行、禁止调试模式等等)
- 如果使用unicloud 可以使用其安全网络功能
- 该API未启用高级认证功能;如设备指纹认证、锁码认证等。仅启用了基本的应用级资产管理认证。更多可参考, android 的keystore 和鸿蒙NEXT 的关键资产存储服务
- 有疑问,请与我联系。
开发文档
鸿蒙NEXT原生系统,使用内置的安全资产管理API实现 Android端使用了tink加密库和keystore的安全存储方案。
App客户端的key安全存储与访问至关重要。安全实现,涉及较多方面。本API仅完成了KEY-VALUE在客户端存储时的一种通用处理方案, 即使用系统的keystore加密存储。
参考Android keystore 参考HarmonyOS Security Asset
安全存储的VAL常见于一些对于安全性要求较高,但又需要存储在APP客户端的场景。例如,三方SDK的ACCESS TOKEN、一些涉及重要资产的 VAL值等。有存储安全,并不代表就万无一失;没有绝对的安全!
你还可以结合其他手段保护本地重要数字资产,包括不限于:
- 混淆加密
- 动态KEY
- APP加固
- 运行时安检(阻止调试、签名验证等)
使用本API前,你须知:
- 密钥启用了应用包验证和设备属性签名验证!API最低要求Android api 26 (Android 8)
- 代码纯正,仅为JAVA相关实现的Kotlin 封装,并实现UTS的接口
- 未知异常造成损失,请自行承担
- 鸿蒙NEXT API 12+ 测试OK
如何使用
步骤一 初始化
// 导入bsx keystore
import { bsxKSinit } from '@/uni_modules/bsx-keystore'
onLaunch: function () {
console.log('App Launch')
// 初始化bsxKS android 端需要初始化
bsxKSinit()
},
步骤二 存储和访问KEY-VAL
// 导入bsx keystore
import { bsxKSinit, bsxKSset, bsxKSget } from '@/uni_modules/bsx-keystore'
// 设置key-val
const setKS:UTSJSONObject = bsxKSset('your key str', 'val str')
setKS.getString("status") // 操作状态, success or error
setKS.getString("message") // val 值 成功-空字符,错误-信息
// 获取key ret type: string
const getKS:UTSJSONObject = bsxKSget('your key str')
getKS.getString("status") // 操作状态, success or error
getKS.getString("message") // val 值
API验证
API在Android12 正常使用!鸿蒙NEXT API 12+ 正常使用!