首页 > 其他分享 >Https通信的SSL证书工作流程原理(转)

Https通信的SSL证书工作流程原理(转)

时间:2023-05-11 21:37:27浏览次数:28  
标签:浏览器 key 证书 SSL Https 服务器 加密 私钥

前言

浏览器服务器之间的https加密通信会包括以下一些概念:非对称加密、对称加密、RSA、证书申请、根证书。https证书加密,就是在传输层tcp和应用层http之间加了一层ssl层来对传输内容进行加密。用时序图简单记录一下大致过程吧。

证书工作原理

服务器证书机构申请证书的流程如下:
1.首先服务器会自行生成一对非对称的公私钥对,将公钥和域名等信息提交到证书机构申请证书,服务器的私钥由自身保管。
2.证书机构会使用自己的私钥对服务器传输过来的公钥和域名信息做签名,一起组成证书交给服务器

浏览器服务器发起Https请求的流程如下:

1.首先浏览器服务器发起请求。

2.服务器证书机构颁发给自己的证书传递给浏览器

3.浏览器从本地安装的根证书中找到证书机构的公钥,用公钥来验签证书的正确性,确保是证书机构用私钥签名的合法证书。

4.浏览器随机生成一个对称秘钥key,用证书中的服务器公钥加密这个key,再传输给服务器

5.服务器用私钥解密后取出对称秘钥key,并用该key加密确认内容返回给客户端,告知可以开始通信。

6.浏览器服务器开始采用该key进行加密通信。

后记

浏览器服务器之间建立连接后是采用对称加密进行通信,因为对称加密的效率强于非对称加密。
证书机构的存在是为了给通信双方做担保,确认证书的有效性。

标签:浏览器,key,证书,SSL,Https,服务器,加密,私钥
From: https://www.cnblogs.com/eminer/p/17392280.html

相关文章

  • CentOS7编译安装OpenSSL3.1
    CentOS7编译安装OpenSSL3.11.下载Openssl源码包官网:https://www.openssl.org/ [root@localhost~]#wgethttps://www.openssl.org/source/openssl-3.1.0.tar.gz 2.解压安装[root@localhost~]#tar-xvfopenssl-3.1.0.tar.gz-C/usr/local/[root@localhost~]#cd......
  • https://pengchenggang.github.io/vuejsdev-com-github 备份发布
    https://pengchenggang.github.io/vuejsdev-com-github备份发布现在还没有解决的就是开clash,代码提交不上去,只能关了提,但是关了提交,也得赶运气。提交代码体验很差~......
  • k8s证书续签及异常:You must be logged in to the server
    1、证书续签(k8smaster节点执行):  #备份kubernetes配置sudocp-r/etc/kubernetes/etc/kubernetes_bak#更新证书sudokubeadmcertsrenewall#查看证书过期时间sudokubeadmcertscheck-expiration#删除conf文件sudorm-rf/etc/kubernetes/*.conf#重新生......
  • k3s 证书过期修改
    >作者:[SRE运维博客](https://www.cnsre.cn/)>博客地址:[https://www.cnsre.cn/](https://www.cnsre.cn/)>文章地址:[https://www.cnsre.cn/posts/221207116004/](https://www.cnsre.cn/posts/221207116004/)>相关话题:[https://www.cnsre.cn/tags/k3s/](https://www.cnsre.......
  • SSL证书配置
    1.1tomcat配置SSL证书tomcat配置#上传证书cp../bonc.com.cn.jks./conf/#修改配置server.xml<Connectorport="443"protocol="HTTP/1.1"SSLEnabled="true"maxThreads="150"scheme="https"secure="......
  • 博客证书过期了
    今天想用Draw画点东西的时候,发现ssl不可信了。一看是证书过期,于是重新申请了一个替换。但替换后偶然注意到证书可信度检查为低,证书评级也为B,这里记录一下处理方式:在nginx配置中加以下配置即可: #PCIDSS不合规ssl_protocolsTLSv1.2TLSv1.3; #没......
  • fatal: unable to access 'https://gitee.com/...': Could not resolve host: gitee.c
    把https模式换成ssh用gitremote-v查看使用的是https还是ssh等$gitremote-v>originhttps://github.com/USERNAME/REPOSITORY.git(fetch)>originhttps://github.com/USERNAME/REPOSITORY.git(push)使用gitremoteset-url命令将远程URL从HTTPS更改为SSH$gitremote......
  • ssl握手失败报错00000002:lib(0):func(0):reason(2)
    开发过程中ssl握手失败,使用demo验证是ok的,说明证书没啥问题,抓包看服务端收到客户端的ServerHello后就回了fin包,打印ssl的错误信息,00000002:lib(0):func(0):reason(2),错误码2,在ssl.h里查看到是#defineSSL_ERROR_WANT_READ       2怀疑是不是非阻塞socket导......
  • 解决“未能创建 SSL/TLS 安全通道”异常
    ServicePointManager.SecurityProtocol=SecurityProtocolType.Ssl3|SecurityProtocolType.Tls|SecurityProtocolType.Tls11|SecurityProtoco......
  • https安全协议C#
    ServicePointManager.SecurityProtocol=(SecurityProtocolType)48|(SecurityProtocolType)192|(SecurityProtocolType)768|(SecurityProtocolType)3072;ServicePointManager.Expect100Continue=true;ServicePointManager.ServerCertificat......