1. 下载 win-acme:
  2. 解压并运行:
    • 解压下载的文件,双击 wacs.exe
  3. 选择选项:
    • 选择 N 创建新的证书,并按提示输入你的域名。
  4. 验证域名:
    • 根据提示选择验证方法(如 HTTP 或 DNS 验证)。
  5. 安装证书:
    • 验证成功后,win-acme 会自动为你生成并安装证书。
  6. 定期续订:
    • 你可以设置任务计划,以便定期自动续订证书。

双击 wacs.exe,输入 N 开始。

image.png 选择:2,然后输入 域名

image.png ACME 服务器需要验证您是否是申请证书的域名的所有者。这在初始设置和每次未来续订时都会发生。有两种主要方法可以做到这一点:回答特定的 http 请求 (http-01) 或创建特定的 dns 记录 (dns-01)。对于通配符标识符,后者是唯一的选择。

可以从 https://github.com/win-acme/win-acme/ 获取各种附加插件。

1:[http] 将验证文件保存在(网络)路径上
2:[http] 从内存提供验证文件
3:[http] 通过 FTP (S) 上传验证文件
4:[http] 通过 SSH-FTP 上传验证文件
5:[http] 通过 WebDav 上传验证文件
6:[dns] 手动创建验证记录(无法自动续订)
7:[dns] 使用 acme-dns 创建验证记录(https://github.com/joohoi/acme-dns)
8:[dns] 使用您自己的脚本创建验证记录
9:[tls-alpn] 回答来自 win-acme 的 TLS 验证请求
C:中止

您希望如何证明对域的所有权?:

选择:6

image.png

存储插件证书存储不可用:以管理员身份运行以允许证书存储访问。

当我们拥有证书时,您可以通过一种或多种方式进行存储,以便您的应用程序可以访问它。Windows 证书存储是 IIS 的默认位置(除非您正在管理它们的集群)。

1:IIS 中央证书存储(每个主机的 .pfx)
2:PEM 编码文件(Apache、nginx 等)
3:PFX 存档
4:Windows 证书存储(本地计算机)
5:无(其他)存储步骤

您希望如何存储证书?:

选择:2

File path: 输入存放证书的路径

image.png 描述:为私钥 .pem 文件设置的密码。

1:无
2:在控制台中输入 / 粘贴
3:在保管库中搜索

从菜单中选择:

选择:1

gpt:设置密码可以增加安全性,防止未授权访问您的私钥。如果私钥被泄露,设置密码可以防止其被恶意使用。不过,这意味着每次使用证书时,您需要输入密码,这可能会稍显麻烦。选择不设置密码可以简化使用流程,但会降低安全性。选择哪种方式取决于您的需求和环境安全性。

image.png 安装插件 IIS 不可用:以管理员身份运行以允许访问 IIS。

将证书保存到您选择的存储区后,您可以选择一个或多个步骤来更新应用程序,例如配置新的指纹或更新绑定。

1:在 IIS 中创建或更新绑定
2:启动外部脚本或程序
3:无(其他)安装步骤

应首先运行哪个安装步骤?:

选择:3

gpt:这是一个步骤,旨在帮助您在安装完 SSL 证书后,选择是否对其他应用程序(如 IIS)进行额外配置。如果您使用的是 Nginx,则可以选择不执行额外的安装步骤。这样就可以直接使用已生成的证书。

image.png 选择:y

image.png 添加 dns 记录,选择 txt,如图:
image.png
Please press after you’ve created and verified the record

创建并 验证 记录后,请按 Enter

ps:可能需要等一段时间才生效

N:创建证书(默认设置)
M:创建证书(完整选项)
R:运行续订(当前有 0 个到期)
A:管理续订(共 1 个)
O:更多选项…
Q:退出

请从菜单中选择:自己选择


gpt:

  1. chain.pem
  • ** 内容 **: 包含证书链(Certificate Chain),即中间证书(Intermediate Certificates)。
  • ** 作用 **: 中间证书是由根证书颁发的,它们帮助客户端(浏览器等)验证你的服务器证书的有效性。由于根证书是可信的,但服务器证书是中间证书颁发的,中间证书就起到了连接两者的作用。
  • ** 通常由谁提供 **: 由证书颁发机构(CA,Certificate Authority)提供。
  • ** 使用场景 **: 当服务器证书并不直接由根证书颁发,而是通过中间证书链时,你需要提供 chain.pem 来帮助客户端构建完整的信任链。
  1. chain-only.pem
  • ** 内容 **: 这个文件与 chain.pem 类似,但它只包含中间证书,不包含服务器证书本身。
  • ** 作用 **: 只提供证书链,用于配合服务器证书文件一起使用,特别是当你有多个证书文件时。
  • ** 区别 **: chain-only.pem 不包含服务器的证书,只包含中间证书,而 chain.pem 可能包含服务器证书和中间证书。
  • ** 使用场景 **: 当证书颁发机构提供了单独的中间证书链文件时,且你需要手动指定链证书而不是合并在一起使用时。
  1. crt.pem
  • ** 内容 : 这是服务器的主 SSL 证书文件,也叫 ** 证书文件(Certificate) 或 ** 公钥证书(Public Certificate)**。
  • ** 作用 **: 该文件包含服务器的公钥,它由证书颁发机构(CA)签名,标识你的网站或服务的身份。客户端(如浏览器)使用该文件验证你的网站是否是你声称的服务器。
  • ** 通常由谁提供 **: 由证书颁发机构(CA)提供,或者通过 Let’s Encrypt 这样的服务自动生成。
  • ** 使用场景 **: 在配置 HTTPS 时,服务器会将该证书发送给客户端,客户端用来验证服务器的合法性。
  1. key.pem
  • ** 内容 : 这是 ** 私钥文件(Private Key),对应你的服务器证书的私钥。
  • ** 作用 **: 私钥用于解密通过服务器公钥加密的通信数据,以及生成和验证数字签名。私钥非常重要,必须保密,不能泄露给第三方。如果私钥泄露,你的服务器通信就不再安全。
  • ** 由谁生成 **: 私钥通常由你在生成证书请求(CSR)时生成,并且不会由 CA 提供。
  • ** 使用场景 **: 在服务器中,它用于解密来自客户端的加密信息,是服务器端 HTTPS 连接中非常关键的部分。

证书文件的组合与作用

  • ** 单独的证书文件 ** (crt.pem): 这就是你的服务器证书,它由 CA 签署,标识你的服务器身份。
  • ** 证书链文件 ** (chain.pem/chain-only.pem): 它们帮助客户端建立信任链,确保客户端可以通过中间证书找到可信的根证书。
  • ** 私钥文件 ** (key.pem): 私钥文件配合服务器证书一起工作,确保通信加密的安全性。

在 Nginx/Apache 中如何使用

在配置 HTTPS 时,通常需要同时指定这些文件,例如:

1
2
3
4
5
6
7
8
9
server {
listen 443 ssl;
server_name example.com;

ssl_certificate /path/to/crt.pem; # 服务器证书
ssl_certificate_key /path/to/key.pem; # 私钥
ssl_trusted_certificate /path/to/chain.pem; # 中间证书链
}

ssl_certificate 通常是服务器证书与中间证书合并在一起的文件(可以是 crt.pemchain.pem 的组合)。而 ssl_certificate_key 则是服务器的私钥文件。

SSL 证书检查:https://ipw.cn/ssl/?site=ipw.cn

补全你的证书链:https://whatsmychaincert.com/