V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yakczh
V2EX  ›  程序员

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

  •  
  •   yakczh · 2013-12-17 17:18:58 +08:00 · 5612 次点击
    这是一个创建于 3776 天前的主题,其中的信息可能已经有所发展或是发生改变。
    16 条回复    1970-01-01 08:00:00 +08:00
    dorentus
        1
    dorentus  
       2013-12-17 17:32:24 +08:00
    我觉得可以。

    不过最好得在你的客户端里面自己验证一下自己用的证书。
    Shieffan
        2
    Shieffan  
       2013-12-17 17:40:06 +08:00
    你的手机客户端要能读到你用于自签名的根证书。。那就是安全的。
    9hills
        3
    9hills  
       2013-12-17 17:49:04 +08:00
    可以的,以前搞过
    est
        4
    est  
       2013-12-17 18:10:45 +08:00
    自己用自己签名的证书。很好很安全。不过你的私钥被盗就SB了。
    Shieffan
        5
    Shieffan  
       2013-12-17 18:56:50 +08:00 via iPhone
    @est 其实还好吧,就算是找CA签名的证书,私钥丢了吊销后不知道多久才会更新吊销列表到客户端,移动平台就更别提了。如果是自己维护的客户端,更新个新版本使用新的根证书就行了。
    jimrok
        6
    jimrok  
       2013-12-18 13:52:31 +08:00
    你要验证证书,否则就是不安全的。
    yakczh
        7
    yakczh  
    OP
       2013-12-18 16:22:14 +08:00
    @jimrok
    http.use_ssl = true if uri.scheme == "https" # enable SSL/TLS
    http.verify_mode = OpenSSL::SSL::VERIFY_NONE

    如果客户端这样请求,那整个传输是不是就不是加密的?
    yakczh
        8
    yakczh  
    OP
       2013-12-18 16:31:55 +08:00
    @Shieffan 这个证书是直接导进发布的apk里吗?
    Shieffan
        9
    Shieffan  
       2013-12-18 16:41:46 +08:00
    @yakczh 根证书放在你的客户端能读到的地方,我没干过android...更具体的我就不晓得了
    jimrok
        10
    jimrok  
       2013-12-18 20:33:29 +08:00
    @yakczh 这样不是不加密,而是不验证证书的有效性,黑客可以用中间人方法攻击你。
    fanweixiao
        11
    fanweixiao  
       2013-12-19 02:12:03 +08:00
    你更关心数据传输过程中的安全,还是为了要验证server端一定是你?
    yakczh
        12
    yakczh  
    OP
       2013-12-19 09:21:38 +08:00
    @fanweixiao 关心传输的安全,因为其中有很多采集的用户个人信息, 服务端的接口地址是写在apk里的,除非开发者重新发布一个修改服务器接口地址的版本 就象修改hosts文件一样,这样就可以客户端可以将数据传到假冒的服务器接口
    yakczh
        13
    yakczh  
    OP
       2013-12-19 14:03:17 +08:00
    @dorentus 是验证服务器的证书吗?还是自签的ca的证书
    yakczh
        14
    yakczh  
    OP
       2013-12-19 14:03:44 +08:00
    @9hills 客户端是Android,怎么搞?
    9hills
        15
    9hills  
       2013-12-19 17:42:02 +08:00
    @jimrok 自签名证书中间人破不了,根证书在服务器上呢
    @yakczh java就可以用SSL,具体google吧
    jimrok
        16
    jimrok  
       2013-12-19 22:52:23 +08:00
    @9hills 主要是有些开发人员对ssl没有进行证书验证,这样中间人攻击就可以存在。这个证书验证的问提10个人9个搞不清楚。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2309 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 00:45 · PVG 08:45 · LAX 17:45 · JFK 20:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.