HttpsCertDemo

Introduction: Android 端与 Java 后端通讯使用 HTTPS 带证书的单向认证、双向认证(关于 HTTPS 这一篇文章就够啦!)
More: Author   ReportBugs   
Tags:
  • 分析了 HTTPS 原理,包括 SSL/TSL、加密技术、证书、OpenSSL 的使用。
  • 简单实现了 Android 端、后台(使用 SpringBoot)的 HTTPS 单向验证、双向验证。
  • 项目难点不在于编码,在于概念的理解,还有各种证书格式的转换。
  • 如果要在自己电脑上运行,部分证书需要重新生成(访问地址被写到证书里了,会被验证)
  • 具体内容请看 客户端与服务器通讯使用 HTTPS 原理分析与实操.pdf 文件。
  • 没有写成.md 文件,因为太长了:sweat_smile:,也不会太太太长,除去标题目录就 16 页:smirk:,如果有什么不妥的地方,欢迎指正。

以下为 客户端与服务器通讯使用 HTTPS 原理分析与实操.pdf 的目录:

一、概述
二、基础概念
   1.网络层次
   2.HTTP 的缺陷
   3.HTTPS 的优势及原理
   4.SSL/TSL 原理
     (1).加密技术
     (2).身份验证
     (3).根证书与证书链
     (4).CA 证书的使用流程
     (5).SSL/TSL 简介
 三、实操 9
   1.使用 OpenSSL 生成自己的 CA 证书
   2.使用 SpringBoot 搭建简单后台
   3.Android 端使用 HTTPS 访问 SpringBoot 后台
     (1).构建 OkhttpClient
     (2).请求与结果
   4.双向认证(拓展)
     (1).生成新证书
     (2).配置 Android 端
     (3).转换根证书格式
     (4).配置服务端
 四、其他问题
   1.关于双端证书
   2.关于客户端根证书的更新策略

这些原理中 CA 的最为重要,关于 CA 证书原理,截取文档中的两张图,看懂这两张图就够了:

Apps
About Me
GitHub: Trinea
Facebook: Dev Tools