HttpsCertDemo
Introduction: Android 端与 Java 后端通讯使用 HTTPS 带证书的单向认证、双向认证(关于 HTTPS 这一篇文章就够啦!)
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 证书原理,截取文档中的两张图,看懂这两张图就够了:


