浏览器获取服务器CA证书与认证流程-HTTPS
证书的签发过程服务方 S 向第三方机构CA提交公钥、组织信息、个人信息(域名)等信息并申请认证;CA 通过线上、线下等多种手段验证申请者提供信息的真实性,如组织是否存在、企业是否合法,是否拥有域名的所有权等;如信息审核通过,CA 会向申请者签发认证文件-证书。证书包含以下信息:申请者公钥、申请者的组织信息和个人信息、签发机构 CA 的信息、有效时间、证书序列号等信息的明文,同时包含一个签名;签名的
·
证书的签发过程
- 服务方 S 向第三方机构CA提交公钥、组织信息、个人信息(域名)等信息并申请认证;
- CA 通过线上、线下等多种手段验证申请者提供信息的真实性,如组织是否存在、企业是否合法,是否拥有域名的所有权等;
- 如信息审核通过,CA 会向申请者签发认证文件-证书。
证书包含以下信息:申请者公钥、申请者的组织信息和个人信息、签发机构 CA 的信息、有效时间、证书序列号等信息的明文,同时包含一个签名(指纹);
签名的产生算法:首先,使用散列函数计算公开的明文信息的信息摘要,然后,采用 CA 的私钥对信息摘要进行加密,密文即签名;
浏览器获取服务端CA证书与证书验证流程
- 客户端 C 向服务器 S 发出https请求时,S 返回证书文件到客户端;
- 客户端首先在本地电脑寻找是否有这个服务器证书上的ca机构的根证书。如果有继续下一步,如果没有弹出警告,认为证书是非法的。
- 客户端会内置信任CA的证书信息,包括CA的公钥。
- 客户端C使用CA机构根证书的公钥对服务器证书的签名和签名算法(散列函数)进行解密,得到摘要(签名解密后就是摘要)和散列函数。
- 客户端 C 读取证书中的相关的明文信息,采用得到的散列函数计算得到信息摘要,对比得到的摘要和自己计算出的摘要是否一致,如果一致,则可以确认证书的合法性,即服务器的公钥合法;
- 客户端然后验证证书相关的域名信息、有效时间等信息;
在这个过程注意几点:
- 申请证书不需要提供私钥,确保私钥永远只能服务器掌握;
- 证书的合法性仍然依赖于非对称加密算法,证书主要是增加了服务器信息以及签名;
3.客户端内置 CA 对应的证书称为根证书,颁发者和使用者相同,自己为自己签名,即自签名证书;
HTTPS的通信过程
- 客户端发送请求到服务器端;
- 服务器端返回证书和公开密钥,公开密钥作为证书的一部分而存在;
- 客户端验证证书和公开密钥的有效性,如果有效,则生成共享密钥并使用公开密钥加密发送到服务器端;
- 服务器端使用私有密钥解密数据,并使用收到的共享密钥加密数据,发送到客户端;
- 客户端使用共享密钥解密数据;
- SSL加密建立………
特定
- 非对称加密相比对称加密更加安全;
- 非对称加密算法对加密内容的长度有限制;
- CA数字证书作用之一是公钥分发;
- 数字签名的签发过程是私钥加密,公钥解密;
参考
更多推荐
所有评论(0)