Tool
说说数字证书的那些事
00 分钟
2024-2-12
2024-4-14
type
status
title
summary
slug
Created
Feb 12, 2024 03:50 AM
category
tags
Date
icon
password

一、前言

之所以有数字证书,是因为我们现在的网站大多使用HTTPS协议来保证通信的安全性,而在HTTPS协议中,使用了数字证书来保证服务端发送给客户端的公钥不被篡改
 
除了能够保证通信的安全性外,有证书的网站在一些浏览器(Chrome)会显示绿色的小锁,这还进一步提高了用户对网站的信任度
 
如果你对HTTPS的通信流程不是很熟悉,可以看看下面的文章来了解数字证书在HTTPS通信中发挥的作用
 
 

二、证书的类型

证书其实有很多细分类型,比如按适用的网站进行区分,有DV 证书OV 证书EV 证书三种类型:
notion image
注:以上内容来自于腾讯云
 
绑定的域名类型进行区分,有单域名、多域名和泛域名证书三种类型:
notion image
注:以上内容来自于腾讯云
 
 

三、免费证书与付费证书

证书有免费和付费之分,付费证书的兼容性较高,同时支持的年限,绑定的域名数量也会比免费的多,但同样费用也比较高,所以对于一些个人网站,优先选择的都是免费证书
notion image
注:以上图表来自腾讯云
 
 

四、证书的品牌

数字证书是由有公信力的机构颁发的,这些机构不会只有一个,所以证书的品牌也不少,像腾讯云支持的品牌就有这些:
notion image
 
但在免费证书的领域,比较出名的是Let's Encrypt,它是一家非营利性证书颁发机构,截止到目前,为3.63 亿个网站提供了免费的 SSL 证书。
 
它的优点有:
  • 免费:任何拥有域名的人都可以使用 Let’s Encrypt 免费获取受信的证书
  • 自动化:可以通过一些Let’s Encrypt 支持的客户端与其直接交互,以便轻松获取证书并自动续期
 
Let’s Encrypt 支持的客户端有Certbotacme.sh等,完整的客户端列表可以点击这里进行查看。
 
如果想了解acme.sh的使用,可以参考这篇文章:
 

五、免费证书获取

如果你是一些个人网站的证书,其实大部分云厂商都提供了免费的证书申请及下载,比如腾讯云就可以免费申请50个证书。当然你也可以使用 Let’s Encrypt 进行获取,更多的获取方式可以参考这篇文章
 

六、自签名证书

自签名证书是由不受信的CA机构颁发的数字证书,也就是自己签发的证书。与受信任的CA签发的传统数字证书不同,自签名证书是由一些公司或软件开发商创建、颁发和签名的(或者自己)。虽然自签名证书使用的是与X.509证书相同的加密密钥对架构,但是却缺少受信任第三方(如Sectigo)的验证。在颁发过程中缺乏独立验证会产生额外的风险,这就是为什么对于面向公众的网站和应用程序来说,自签名证书是不安全的。
 
一般来说,在公司内网中搭建需要HTTPS通信的网站就会使用自签名证书,当然也有人为了方便也使用自签名证书。
 
自签名证书常见的工具有opensslkeytool,如果你是Linux系统,则使用openssl会比较方便,如果你有Java环境,则使用keytool比较方便。
 
使用openssl生成证书可以参考这个:
 
使用keytool生成证书可以参考这个:
 
或者嫌麻烦的可以直接使用网站生成: