TLS 加密通信介绍
1、相关基础概念知识
1.1 数字证书
1.1.1 概念
CA机构签发的一种电子身份证,将公钥与实体(如网站、组织、个人)进行绑定,证书内包含了公钥,证书主体的身份信息(如名称,地址)、证书的有效期,CA的数字签名,这个签名用于验证证书的完整性,防止证书内容被篡改
1.1.2 格式
- x.509
这是最常见的数字证书标准格式,几乎被所有主流操作系统、浏览器、网络设备所支持。X.509 证书基于 ASN.1(Abstract Syntax Notation One)编码标准,通常包含版本号、序列号、签名算法标识符、颁发者、有效期、主体、主体公钥信息、颁发者唯一标识符、主体唯一标识符、扩展项、颁发者签名等部分
- PKCS#7
也叫 P7B 格式,常用于在不同系统间交换证书及证书链,它可以包含一个或多个数字证书以及相关的证书链信息,常作为邮件附件来传输数字证书,Windows 系统的 IE 浏览器就支持导入这种格式的证书
- PKCS#12
即 PFX/P12 格式,它把证书、私钥、证书链打包在一起,常被用于需要同时导入证书和私钥的场景,像在 Windows Server 配置 IIS 服务器时,就常用到 PKCS#12 格式的证书,它有密码保护,安全性较高。
1.1.3 生成图
1.2 数字签名
1.2.1 概念
首先用hash函数,将原始消息(比如数字证书的内容) 转为一个固定长度的hash值(摘要),这个哈希值能代表信息的关键特征,然后发送方使用自己的私钥对该hash值进行加密,得到的结果就是数字签名了
1.2.2 反解码操作
客户收到数字签名后,用公开的公钥对数字签名解码,得到摘要a,然后用算法把消息进行摘要b,用这个摘要a和摘要b进行比较看看签名是否一致就可以判断数字签名是否有效,是否被篡改了
1.3 TLS
传输层安全协议