ssl很贵,但是有很多平台都有免费测试的版本,可以去申请试一下,很方便。
一、 数字证书
公开密钥认证(英语:Public key certificate),又称数字证书(digital certificate)或身份证书(identity certificate)。
1、什么是数字证书
HTTPS进行认证就是用数字证书
网络的证书的种类型:
证书的内容包括:
电子签证机关的信息、公钥用户信息、公钥、权威机构的签字和有效期等等。
目前,证书的格式和验证方法普遍遵循X.509国际标准。
从ca获取的数字证书
用户若欲获取证书,应先向CA提出申请,CA判明申请者的身份后,为之分配一个公钥,并将该公钥与其身份信息绑定,为该整体签名,签名后的整体即为证书,发还给申请者。
数字证书也 存在伪造的
如果一个用户想鉴别另一个证书的真伪,他就用CA的公钥对那个证书上的签字进行验证,一旦验证通过,该证书就被认为是有效的。
2、数字证书干什么的
认证机构用自己的私钥对需要认证的人(或组织机构)的公钥施加数字签名并生成证书,即证书的本质就是对公钥施加数字签名。
我们需要公钥去验证交互的另一方是目标方,但是公钥有可能也是被调换了,数字证书就是为了证明这个公钥的身份
3、风险
伪造数字证书
二、数字证书认证机构 CA(Certificate Authority,缩写为CA)
数字证书机构是为了证明数字证书的
数字证书正常是由ca来发布和验证的,而ca的验证等还和上一级RC认证有关
CA中心为每个使用公开密钥的用户发放一个数字证书,数字证书的作用是证明证书中列出的用户合法拥有证书中列出的公开密钥。CA机构的数字签名使得攻击者不能伪造和篡改证书。它负责产生、分配并管理所有参与网上交易的个体所需的数字证书,因此是安全电子交易的核心环节。在SET交易中,CA不仅对持卡人、商户发放证书,还要对获款的银行、网关发放证书。
RC又是认证数字证书机构的
(root certificate)(公钥的祖宗大概意思)
是属于根证书颁发机构(CA)的公钥证书,是在公开密钥基础建设中,信任链的起点。证书颁发机构的角色有如现实世界中的公证行,保证网络世界中电子证书持有人的身份。
根证书没有上层机构再为其本身作数字签名
根证书是最后一层机构,所以根证书的产生是特别严格的(这个过程在公证人、律师及录影系统监察下经过一系列严谨的程序,在高度防护的设施内进行)
RC之间又互相认证
因为CA是公信机构,会内置到浏览器或操作系统中,所有pc等通讯设备出厂时就会携带CA的公钥
三、HTTPS认证流程 和对称加密
角色1. 服务端
角色2. 客户端
认证流程
- 服务端首先需要去 CA申请数字证书 ,这个数字证书被CA用 CA的私钥进行加密
- 当客户端请求服务器时,服务端返回数字证书,客户端使用这个CA的公钥进行解密,判断是否合法(是否可信,或者篡改)
- 认证完成
对称加密
- 客户端拿到数字证书之后,就可以得到服务端的公钥(为什么能拿到请看上面内容)
- 客户端生成一个Key,拿服务端的公钥去加密Key,传输到服务端
- 服务端拿自己的私钥进行解密,就得到这个对称加密的秘钥了
- 这个秘钥就保证了通讯的加密
参考文章
个人笔记,不同意见,望有交流
直接可以点击跳转连接
CADN作者 JAVA 3y