如何补全 SSL 证书链?(含申请免费泛域名 SSL 证书方法)

释放双眼,带上耳机,听听看~!

当下人们对安全性的要求越来越高,对于网站而言加个绿锁(SSL 证书)就显的很重要,特别是有交易往来的网站尤为迫切,但是有时候就会发现,添加了绿锁反而出现了错误,导致网站打不开,在 Android 客户端最为明显: 

如何补全 SSL 证书链?(含申请免费泛域名 SSL 证书方法)插图如何补全 SSL 证书链?(含申请免费泛域名 SSL 证书方法)插图1

如何补全 SSL 证书链?(含申请免费泛域名 SSL 证书方法)插图2

那么,明明是权威机构正常签发的证书,在电脑上开也是正常的,为什么会出现错误呢?其实在第二张截图(通过 QQ 浏览器访问)已经提示得很清楚了,证书链不完整! 

一、证书的组成 

我们知道完整的证书内容一般分为 3 级,服务端证书 - 中间证书 - 根证书,即 SSL Certificate, Intermediate CA 和 Root CA,这 3 级构成了一个完整的证书链。 

如何补全 SSL 证书链?(含申请免费泛域名 SSL 证书方法)插图3

如何补全 SSL 证书链?(含申请免费泛域名 SSL 证书方法)插图4

  • SSL Certificates(blog.vircloud.net):用来加密传输数据的公钥的证书,一般就是我们申请到的用于 https 加密的证书。 
  • Intermediate CA(COMODO RSA Domain Validation Secure Server CA):用来认证公钥持有者身份的证书,即确认用户 https 使用的上述证书是由 Intermediates 签发的。
  •  Root CA(COMODO SECURE):用来认证 Intermediate CA 是合法证书的证书,通常都已内置在操作系统或浏览器中。

简单来说,SSL Certificates 证书上面几级证书都是为了保证 SSL Certificates 证书未被篡改,保证是 CA 签发的合法证书,进而保证 SSL Certificates 证书中的公钥未被篡改。 

二、证书的认证 

上面说到,操作系统或浏览器中已经预置了一些受信任的根证书颁发机构和某些中间证书颁发机构,SSL 证书在被验证时最终要验证其根证书是否可信,即是否已被内置,如果网站证书的根证书在浏览器可信任根证书列表里或者中间证书颁发机构在可信其证书列表里,那么网站就是可信的。 以本站为例,简单来说,就是认证证书时会从 blog.vircloud.net 开始,一层层验证 COMODO RSA Domain Validation Secure Server CA、COMODO SECURE,最终 COMODO SECURE 在系统或浏览器中是被信任的,那么就会在地址前显示小绿锁。 由于大多终端证书都不是由根证书签发的,而是由三级或多级结构构成的,浏览器无法通过用户证书直接验证其根证书,浏览器就会报告网站的证书来自未知授权中心,这时中间证书即证书链文件起了作用,证书链文件告诉了浏览器用户证书的上级证书机构即中间证书,浏览器再通过中间证书验证其上级根证书是否为可信。 总结一下,证书的签发和认证可以用下图来概括: 

如何补全 SSL 证书链?(含申请免费泛域名 SSL 证书方法)插图5

在用户证书里面我们会找到这样的信息,Authority Info Access(权威信息访问),通过这里面的 URL ,我们可以获得这个证书的颁发者证书,即中间证书,就是说我们在部署 SSL 证书时没有把证书链文件(中间证书)部署进去,浏览器依然可以通过证书上面的 url 信息访问到中间证书,继而验证根证书。 

如何补全 SSL 证书链?(含申请免费泛域名 SSL 证书方法)插图6

然而,部分浏览器特别是 Android 手机浏览器,似乎并不支持这种方式获得中间证书,这就造成了即使我们的证书是权威机构签发的并且电脑访问没有问题,到了手机浏览器就提示证书不受信任或未知授权中心,这个时候我们要做的就是补全证书链。

 三、补全证书链 

需要补全证书链,很大原因也是签发机构签发证书时,是单独提供了用户证书,导致用户也只部署了用户证书,若未做兼容性测试,只在电脑上验证,是很难发现证书部署有问题的。 在第二部分我们讲到了证书的组成,由于常见的根证书已经内置了,所以不需要额外操作,我们要做的就是将中间证书添加到用户证书中,同样的根据完整证书结构: 

-----BEGIN CERTIFICATE----- 
用户证书 
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE----- 
中间证书 
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
根证书 
-----END CERTIFICATE-----

我们在证书机构下载到中间证书后,将其补到用户证书尾巴即可。 当然了,由于中间证书是公开的,所以我们也可以利用现成的工具去补全: 

四、附:申请免费泛域名 SSL 证书

1、申请地址

ASSL.SPACE AutoSSL:俄文,自备翻译

しらSSL:中文,每日限 12 张

2、申请方法

 申请前请确保已开通域名邮箱,否则无法申请。

① 生成证书请求文件 csr 直接利用现成的工具生成或者利用 openssl 命令行生成:

工具:雷铭 SSL 在线生成 CSR

命令行:

# openssl req -out youdomain.csr -new -sha256 -newkey rsa:2048 -nodes -keyout youdomain.key

② 填写信息

 根据页面提示填写相关信息,除了邮箱一定要是真实的可接收邮件的,其他的尽量真吧,以 しらSSL 为例:

如何补全 SSL 证书链?(含申请免费泛域名 SSL 证书方法)插图7

③ 签发证书

信息填好就可以直接点申请了,中间会提示验证域名,选择合适的邮箱验证即可,然后到邮箱根据收到的邮件核准签发,之后等待十几二十分钟即可收到证书邮件。

温馨提示:本文最后更新于 2022-12-11 01:53 ,某些文章具有时效性,若有错误或已失效,请在下方留言或联系逆念

给TA打赏
共{{data.count}}人
人已打赏
网络技术

QQ腾讯电脑管家域名报毒在线申诉地址

2018-3-21 21:20:53

网络技术

腾讯QQ头像、QQ网名相关API接口

2018-3-25 0:00:00

重要声明

本站资源大多来自网络,如有侵犯你的权益请联系管理员,QQ508044570 我们会第一时间进行审核删除。站内资源为网友个人学习或测试研究使用,未经原版权作者许可,禁止用于任何商业途径!请在下载24小时内删除!


如果遇到付费才可观看的文章,建议升级终身VIP。全站所有资源任意下免费看”。本站资源少部分采用7z压缩,为防止有人压缩软件不支持7z格式,7z解压,建议下载7-zip,zip、rar解压,建议下载WinRAR

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索