HTTPS数字证书的相关概念

马谦马谦马谦 计算机网络评论535字数 1164阅读3分52秒阅读模式

一、证书和CA

HTTPS证书的颁发和验证一共包含以下几个角色:

  1. 顶级CA:最顶级的证书颁发机构,可以签发中间CA/。
  2. 中间CA:也是受信任的证书颁发机构,它由根CA签发,中间证书可以有很多级,中间CA也能再签发中间CA。
  3. 终端证书:由CA签发出来的证书。

三者的关系为:

HTTPS数字证书的相关概念-图片1

顶级CA机构一般不直接参数证书颁发,因为顶级CA就一个公私钥,泄密后影响太大。因此一般都是通过中间CA来颁发证书,中间CA可以有多层,中间CA也可以自己再签发中间CA,他们都是等效的。实际上的正式的使用场景也是这样,中间CA会根据加密算法或其他因素再衍生出多个中间CA。以百度的证书,它的证书就是由一个中间CA颁发:

HTTPS数字证书的相关概念-图片2

生成证书时,用户只要把自己的公私钥和身份信息(如域名信息等)提交给CA机构就行,CA机构对用户信息加密生成证书给到用户,用户把证书和私钥部署到服务端就能开启HTTPS了。

证书的表现形式

证书有多种表现形式,常用的为pemder格式,两者的区别在于前者是以ascii码表示的证书,后者是二进制形式。pem格式的证书是以下形式:

两种证书在各操作系统下都是能被直接打开的(windows需要修改后缀为crt),效果也都一样,可以使用windows的证书管理或者openssl命令转换两种证书格式。

二、客户端校验CA

证书部署到服务器后,客户端请求到证书,会根据证书信息找到对应的根证书签发机构(CA),如果CA受信任,则认为证书可靠,证书中的公钥也可靠,可以建立加密连接。而如果CA不受信任,浏览器就会拦截请求,提示连接不安全,需要用户确认后才建立连接。如chrome浏览器就会弹出以下弹框信息等用户确认后才建立连接:

HTTPS数字证书的相关概念-图片3

默认情况下,操作系统都会保存一份受信任根证书列表,这样在访问网站的时候很方便就能确认当前证书的颁发者是不是受信任CA了。windows系统可以在运行中输入certmgr.msc来查看:

HTTPS数字证书的相关概念-图片4

ubuntu在:

centos在:

OCSP校验

当本地信任库无法校验证书时,例如证书链不完整时,需要使用OCSP方式来校验证书的有效性,它实际上是一种在线校验证书机制,通过OCSP协议去请求服务端证书来检验CA。

三、部署HTTPS证书

nginx中配置HTTPS证书的方法:

高版本的nginx配置中,取消了ssl on指令,改为了以下形式:

证书中如果包含了CA,证书的格式应该为:

 最后更新:2020-4-5
马谦马谦马谦
  • 本文由 马谦马谦马谦 发表于 2020年4月4日14:18:14
  • 转载请务必保留本文链接:https://www.dyxmq.cn/network/https-certificate.html
wireshark导出https证书 计算机网络

wireshark导出https证书

一、找到证书所在的数据包 证书是从服务端返回的,从https握手的过程来看,当服务端返回了server hello之后,就会主动将自己的证书返回给客户端,因此只要从server hello往后面找1-...
创建自签名CA和SSL证书 计算机网络

创建自签名CA和SSL证书

一、创建CA CA全称是CertificateAuthority,意思是证书颁发机构。只有当CA被认为是受信任的颁发机构时,经过该CA颁发出来的证书才属于受信任的证书。否则,认为证书是不受信任的。 为...
浏览器出现HSTS问题的原因以及解决方案 程序员

浏览器出现HSTS问题的原因以及解决方案

一、问题描述 在HTTPS连接被中间人代理后(一般出现在公共场所,例如公共WIFI或者需要ssl解密的场景),第一次访问网站会弹出HSTS错误: HSTS是一个很简单的访问安全策略,通过在HTTP头部...
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定

拖动滑块以完成验证