使用 RN 开发的 app,客户端证书应该怎么存?

181 天前
 luckykelan

我使用了 mtls 证书双向认证,想在 RN 中存一份客户端证书, 如果用硬编码,只要反编译了就很容易查出来,存文件,解压 apk 也会获得,有什么安全的方式嘛?

2439 次点击
所在节点    React
13 条回复
AoEiuV020JP
181 天前
考虑反编译就没什么办法了吧,
首先你想防止客户端证书泄露这点不太对劲,
iOCZS
181 天前
除了加密还能有啥办法呢。。。
luckykelan
181 天前
@AoEiuV020JP 因为想避免接口数据泄露,客户端证书泄露了就可以随意调用接口了啊
FengMubai
181 天前
@luckykelan 你在客户端运行时生成一个对称密钥, 把密钥用服务端公钥加密发过去, 然后接口数据都用对称加密 (不如直接用 https
AoEiuV020JP
181 天前
@luckykelan #3 考虑反编译的话就没有任何办法阻止别人调接口了, 客户端什么逻辑别人只要一模一样的抄一遍就一定能调通,
接口数据安全应该在服务器端做, 不该给的不要给,
bsg1992
181 天前
都是客户端了 不就相当于光着身子 站在别人面前嘛。
你传太多的衣服别人 也能照样给你扒光。
w88975
181 天前
我当时做的一个 RN 项目,接口加密,是用 rust 写了个 wasm 的加密模块,数据由 wasm 加密后,传给 js ,这样反编译成本就高得多。得先反编译 apk 或者 ipa ,然后反编译 js 文件,最后找到 wasm 模块文件,再去反编译 wasm 。
crazyu
181 天前
想知道 v 友有关于 RN iOS 集成微信登陆、支付、分享小程序以及集成录音的经历吗? 如果有的话,是否有对应的文章可以参考,目前这个卡了好久,都没有运行成功,唉,
dyllen
181 天前
@w88975 感觉这个可以,这个只能提高破解成本了,完全防住应该不可能。
xiaoshan5733
181 天前
@crazyu 关注+1
https://native-wechat.hector.im/ 这个是我了解到的最新方案,还没试过
darkce
181 天前
LuckyLauncher
181 天前
@w88975 #7 脚本小子只需要找到 wasm 文件和调用 wasm 函数的入参和出参就行了
chniccs
181 天前
当年我是用 c 语言写的加密模块,打包成 so 包让 app 调用 native 方法,这样反编译成本比较高。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1050550

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX