android 单双向验证知识点

单向认证和双向认证的区别:

  • 单向认证只要求站点部署了ssl证书就行,任何用户都可以去访问(IP被限制除外等),只是服务端提供了身份认证。
  • 而双向认证则是需要是服务端需要客户端提供身份认证,只能是服务端允许的客户能去访问,安全性相对于要高一些
  • 双向认证SSL 协议的具体通讯过程,这种情况要求服务器和客户端双方都有证书。
  • 单向认证SSL 协议不需要客户端拥有CA证书,以及在协商对称密码方案,对称通话密钥时,服务器发送给客户端的是没有加过密的(这并不影响SSL过程的安全性)密码方案。
  • 这样,双方具体的通讯内容,就是加密过的数据。
  • 如果有第三方攻击,获得的只是加密的数据,第三方要获得有用的信息,就需要对加密的数据进行解密,这时候的安全就依赖于密码方案的安全。
  • 而幸运的是,目前所用的密码方案,只要通讯密钥长度足够的长,就足够的安全。这也是我们强调要求使用128位加密通讯的原因。
  • 一般Web应用都是采用单向认证的,原因很简单,用户数目广泛,且无需做在通讯层做用户身份验证,一般都在应用逻辑层来保证用户的合法登入。
  • 但如果是企业应用对接,情况就不一样,可能会要求对客户端(相对而言)做身份验证。这时就需要做双向认证。
    单向认证和双向认证的过程:


    单向认证

各类知识点整理:

  • android https双向验证 前言及总结:https://www.jianshu.com/p/07ce321d80ab
  • phpstudy搭建本地服务器: https://www.jianshu.com/p/bbf853fc28f3
  • 浏览器获取证书文件(p12转cer):https://www.jianshu.com/p/7f74acab6c74
  • https双向认证证书生成:https://www.jianshu.com/p/094c7fc8cb85
  • android okhttps双向验证(代码实现):https://www.jianshu.com/p/6229d10d3550
  • android webView的双向验证:https://www.jianshu.com/p/e98119d04fd9
  • 配置完成后的测试:https://www.jianshu.com/p/cfcf708a591a
  • Glide okhttps证书验证全局配置:https://www.jianshu.com/p/ac0b5c5f3ca7

工具类:

  • P12证书转BKS证书:https://www.jianshu.com/p/2a96c36b27fe
  • 服务器网址检测(兼容性及协议检测):https://www.ssllabs.com/index.html

源码:

  • github:https://github.com/fs437563/android_https

你可能感兴趣的:(android 单双向验证知识点)