SSL-TLS证书

1. 免费证书

对于个人来说,使用免费的证书就行了,目前常用的免费证书颁发机构有Let’Encrypt、ZeroSSl,当然申请证书的办法有很多,Let’Encrypt 官方也推荐了很多申请脚本,比如Certbot 和 ACME,

一天内通过 Letsencrypt.org 申请次数过多, 可选 BuyPass.com 或 ZeroSSL.com 来申请.

2. TLS/SSL 证书

TLS 证书是实现网站 https 加密的最新技术标准,是在传统 SSL 证书上作了各种安全增强,被当前主流浏览器和服务器普遍使用的,而 SSL 证书已经逐渐被淘汰了,但是一般用户对 SSL 这个概念更加熟悉,更容易让人理解,所以很多地方所说的 SSL 或者 TLS/SSL 证书其实就是 TLS 证书。

目前 Let’Encrypt、Zerossl 等知名 CA 机构颁发的也都是 x509 v3 版本的 TLS 证书。我们都知道 TLS 证书主要用在访问网站时进行数据加密,那么同样可以用于科学上网中进行数据加密。

3. 证书有效期和续期

Let’encrypt 证书有效期都是 90 天,通过自动化脚本申请,安装后它会自动帮我们创建定时任务,每隔 60 天帮我自动申请更新证书,一次配置好,彻底解放我们的双手。当然我们也可以自己强制更新证书。

4. 一键申请 TLS/SSL 证书脚本:

bash <(curl -Lso- https://raw.githubusercontent.com/yirenchengfeng1/linux/main/acme.sh)

5. VPS 一键管理助手脚本:

bash <(curl -Lso- https://raw.githubusercontent.com/yirenchengfeng1/linux/main/manage_vps.sh)

具体来说,证书相关的文件被安装到了以下路径:

  • 证书文件:/root/cert/x-ui.baoyu2023.top.cer
  • 证书密钥文件:/root/cert/x-ui.baoyu2023.top.key
  • 中间 CA 证书文件:/root/cert/ca.cer
  • 完整证书链文件:/root/cert/fullchain.cer

最后,脚本的输出显示总共有 24KB 的文件,这可能是证书及其相关文件的总大小。

在处理 SSL 证书时,通常会涉及到几个不同的文件,每个文件都有其特定的用途和重要性。以下是您提到的证书文件及其区别和联系:

6. 证书文件(.cer 或.crt):

  • 这是最重要的文件,它包含了服务器的公钥以及证书签发机构(CA)对该公钥的数字签名。
  • 它证明了服务器的身份,并且被客户端(如浏览器)用来验证服务器的真实性。
  • 在您的例子中,证书文件是 /root/cert/x-ui.baoyu2023.top.cer。

7. 证书密钥文件(.key):

  • 这个文件包含了服务器的私钥,必须保密,不应该泄露给任何人。
  • 私钥用于解密通过公钥加密的数据,以及在 SSL/TLS 握手过程中证明服务器的身份。
  • 在您的例子中,密钥文件是 /root/cert/x-ui.baoyu2023.top.key。

8. 中间 CA 证书文件(.cer 或.crt):

  • 中间 CA 证书是证书链的一部分,它连接了您的服务器证书和根 CA 证书。
  • 它证明了您的服务器证书是由一个受信任的根 CA 签发的。
  • 在您的例子中,中间 CA 证书文件是 /root/cert/ca.cer。

9. 完整证书链文件(.cer 或.crt):

  • 完整证书链包含了服务器证书、所有必要的中间 CA 证书,以及根 CA 证书。
  • 它可以一次性提供整个证书链,以便客户端验证证书的有效性。
  • 在您的例子中,完整证书链文件是 /root/cert/fullchain.cer。

这些文件共同工作,确保客户端和服务器之间的通信是安全可靠的。

通常,您需要在 Web 服务器配置中指定证书文件和密钥文件,以便 SSL/TLS 能够正确地建立安全连接。而完整证书链文件则可以确保客户端能够验证服务器证书的有效性,即使客户端没有中间 CA 证书的本地副本。

以下是每个选项的简要解释:

  1. 获取 SSL:这个选项可能允许您获取新的 SSL 证书。这个过程可能包括生成证书签名请求(CSR),提交给证书颁发机构(CA),然后在您的服务器上安装颁发的证书。
  2. 撤销:这个选项用于撤销 SSL 证书。如果您需要取消证书,因为它已经被泄露、私钥丢失或者域名不再使用,撤销证书是确保它不会被恶意使用的安全方式。
  3. 强制续签:这个选项强制续签 SSL 证书。通常,证书在过期前会自动续签,但如果您需要立即续签,比如出于安全考虑或配置更改,这个选项将允许您这样做。

在签发证书的过程中,Let’s Encrypt 需要通过 HTTP 或 HTTPS 验证您对域名的控制,这通常是通过在您的服务器上创建一个临时 Web 服务器来完成的,该服务器监听端口 80 或 443。

由于端口 80 已经被占用,Let’s Encrypt 的脚本无法启动自己的 Web 服务器来进行域名验证。