其他分享
首页 > 其他分享> > 数字证书工作原理

数字证书工作原理

作者:互联网

目录


参考了很多文章,一些图片,直接拷贝别人的。

SSL证书和HTTPS的关系

HTTPS在HTTP的基础上加入了SSL加密协议,HTTP是明文传输,HTTPS是加密传输。

如何得到一张证书
数字证书的创建流程:
https://help.aliyun.com/document_detail/211100.html
可以通过阿里云SSL证书服务购买SSL证书,并向CA中心提交证书申请,直到证书成功签发;您将已签发的证书安装到Web服务器后,则Web服务将会通过HTTPS加密协议来传输数据。
HTTPS加密传输协议可激活客户端浏览器到网站服务器之间的SSL加密通道(SSL协议),从而实现高强度双向加密传输,防止传输数据被泄露或篡改。

安全作用
数字签名的作用是防中间人伪造、篡改;
SSL数字证书的作用是证明发件人是谁,保证收到的公钥是官方发给我的,不是被中间人篡改过的。


SSL数字证书为什么会安全?

用SSL与不用SSL证书的区别:

SSL证书怎么做到上面3个功能的?
请看数字证书签发、验签流程


数字证书签发、验签流程

前提一定要理解数字签名的流程.

数字证书就是给公钥做的数字签名,为什么需要给公钥做数字签名?
格式
X.509是RFC5280定义的一种公钥证书格式(public key certificate)。
X.509证书也被称为数字Digital Certificate。
一张X.509包含一个Public Key和一个身份信息。X.509证书要么是自签发,要么是被CA签发。

把版本、发行方、过期时间、域名、公钥、证书签名等信息 合成在一个文件内,就叫数字证书。
里面的信息,根据标准格式存入,也可以根据标准格式取出。

自签发就是系统根证书
根证书,在系统安装初始化时,就会从CA机构导入进来。

CA签发,就是你申请证书的时,把你的信息块提交给CA,CA用他的RSA密钥给你信息块加密,
得到一个:Certificate Signature , CA的证书也会在你电脑里保存着,
这样你通过他的公钥就能解密Certificate Signature 得到H2(哈希值),
可以做对比,来判断是否篡改过。

简化版的签发、验收流程

CA 签发证书的过程,如上图左边部分:

证书链
但事实上,证书的验证过程中还存在一个证书信任链的问题,因为我们向 CA 申请的证书一般不是根证书签发的,而是由中间证书签发的,比如百度的证书,从下图你可以看到,证书的层级有三级:

我自己画了一下简图:

H2由上一级给你生成,在你提交信息给CA的时候,CA用他的私钥和你信息摘要生成H2.


reference

数字签名、数字证书与HTTPS是什么关系?
https://www.zhihu.com/question/52493697

一文彻底搞懂加密、数字签名和数字证书!
https://segmentfault.com/a/1190000024523772

浏览器如何验证HTTPS证书的合法性?
https://www.zhihu.com/question/37370216

手工验证一张数字证书的有效性
https://blog.yuantops.com/tech/validate_a_digital_certificate_step_by_step/
浏览器验证SSL数字证书的步骤
https://blog.yuantops.com/tech/how_do_web_broswer_validate_ssl_certificates/

标签:公钥,证书,签发,CA,工作,SSL,原理,数字证书
来源: https://www.cnblogs.com/mysticbinary/p/15339793.html