AoEiuV020JP 最近的时间轴更新
AoEiuV020JP
ONLINE

AoEiuV020JP

小号降权换这小小号,
V2EX 第 626874 号会员,加入于 2023-05-04 11:29:41 +08:00
今日活跃度排名 224
AoEiuV020JP 最近回复了
很纠结,不能多想,最难受的是一个项目里有些加了 s 有些没加,
@ysc3839 #8 可现实是真的很多把 key 放在客户端使用的,让人感觉是常规做法, 我公司桌面版就是这样,

安卓那个不是依赖外部,比如谷歌地图 key 能限制包名签名,百度地图 key 也行, 几乎所有主流第三方库都有这功能,
原理大概是相关校验混淆加密放在 so 里,大厂保证 sdk 的破解难度,光破解 app 本身得到 key 也无法使用 key ,

但桌面端就真没办法了,api 都是公开的,key 的使用也没法校验什么,只能祈祷没人偷 key ,

感觉,就挺意外的,我本以为安卓这种自签名的机制已经是安全性较低的了,结果桌面端居然默认程序是无签名的,
按理说二进制程序也是可以有数字签名的,但好像各方都没有在意这个签名,都当作不需要签名,
@vczyh #5 确实看这情况应该只能这样了的,
但我想开发个没有服务器的纯客户端应用就很尴尬,关键是安卓可以设置密钥使用限制,做跨平台 app 各端区别对待就不大爽了,
oauth 只是个例子,还有别的比如地图什么的,就更难把 key 隐藏在服务器上了,
@yekern #3 我想说的就是不管怎么获取,怎么加密,只要是在客户端调用,最终都是要按第三方要求的方式传递进去,

比如 google oauth 桌面应用一定要调接口 https://oauth2.googleapis.com/token, 接口参数就有 id 和 secret ,
前面怎么获取怎么加密都无所谓,只要抓到这个接口参数,secret 就暴露了, 暴露了再换加密都没用了,

我在想这些 secret 是不是压根就不重要,直接写死就好,

或者压根就不该在客户端调用,但现实中感觉不少见客户端直接请求第三方 api 的,给人感觉好像是个常规做法,
我本以为会像安卓一样可以有签名之类限制,结果并没有,完全不设防,
总觉得好些安全性建议都是脱裤子放屁,
比如这个谷歌地图安卓 api key ,谷歌建议是不要写在代码里,不要提交到 git 里,为此谷歌特地做了个插件方便从 git 忽略的 local.properties 文件读取 api key,
可问题是 api key 最终还是要填充到 manifest 里,这个拿到 apk 直接就能看到啊,能保护 key 的只有设置签名指纹限制,这 key 是否随代码公开真有区别吗?
我只觉得蹲厕容易拉到外面,还是备桶水用瓢舀着冲靠谱,
8 小时 36 分钟前
回复了 gsy20050126 创建的主题 问与答 外接显示器适合 windows 还是 macos?
有点没明白状况,你是有两台自带屏幕的笔记本想选一个拓展一套外设?
问就是要,备案 app 才出来没多久,怎么可能有人能给你保证违规的下场,
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3694 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 25ms · UTC 10:40 · PVG 18:40 · LAX 03:40 · JFK 06:40
Developed with CodeLauncher
♥ Do have faith in what you're doing.