服务器用https,面向的是手机客户端api接口调用,这种情况下,用自签名的证书是不是就可以了?

2013 年 12 月 17 日
 yakczh
6626 次点击
所在节点    程序员
16 条回复
dorentus
2013 年 12 月 17 日
我觉得可以。

不过最好得在你的客户端里面自己验证一下自己用的证书。
Shieffan
2013 年 12 月 17 日
你的手机客户端要能读到你用于自签名的根证书。。那就是安全的。
9hills
2013 年 12 月 17 日
可以的,以前搞过
est
2013 年 12 月 17 日
自己用自己签名的证书。很好很安全。不过你的私钥被盗就SB了。
Shieffan
2013 年 12 月 17 日
@est 其实还好吧,就算是找CA签名的证书,私钥丢了吊销后不知道多久才会更新吊销列表到客户端,移动平台就更别提了。如果是自己维护的客户端,更新个新版本使用新的根证书就行了。
jimrok
2013 年 12 月 18 日
你要验证证书,否则就是不安全的。
yakczh
2013 年 12 月 18 日
@jimrok
http.use_ssl = true if uri.scheme == "https" # enable SSL/TLS
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

如果客户端这样请求,那整个传输是不是就不是加密的?
yakczh
2013 年 12 月 18 日
@Shieffan 这个证书是直接导进发布的apk里吗?
Shieffan
2013 年 12 月 18 日
@yakczh 根证书放在你的客户端能读到的地方,我没干过android...更具体的我就不晓得了
jimrok
2013 年 12 月 18 日
@yakczh 这样不是不加密,而是不验证证书的有效性,黑客可以用中间人方法攻击你。
fanweixiao
2013 年 12 月 19 日
你更关心数据传输过程中的安全,还是为了要验证server端一定是你?
yakczh
2013 年 12 月 19 日
@fanweixiao 关心传输的安全,因为其中有很多采集的用户个人信息, 服务端的接口地址是写在apk里的,除非开发者重新发布一个修改服务器接口地址的版本 就象修改hosts文件一样,这样就可以客户端可以将数据传到假冒的服务器接口
yakczh
2013 年 12 月 19 日
@dorentus 是验证服务器的证书吗?还是自签的ca的证书
yakczh
2013 年 12 月 19 日
@9hills 客户端是Android,怎么搞?
9hills
2013 年 12 月 19 日
@jimrok 自签名证书中间人破不了,根证书在服务器上呢
@yakczh java就可以用SSL,具体google吧
jimrok
2013 年 12 月 19 日
@9hills 主要是有些开发人员对ssl没有进行证书验证,这样中间人攻击就可以存在。这个证书验证的问提10个人9个搞不清楚。

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

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

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

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

© 2021 V2EX