Windows下使用Certbot申请通配符SSLl证书

迅恒数据中心
一、下载并安装软件
在这个网站下载最新的软件并安装https://github.com/certbot/certbot
在https://github.com/certbot/certbot/releases?page=1的各个版本对应的Assets的列表中找到Windows的版本
目前只有Certbot 2.9.0的Windows编译版本,没有最新Certbot 2.11.0的,好像是最新版本停止支持Windows了
下载certbot-beta-installer-win_amd64_signed.exe
一路安装即可
Certbot 的功能围绕配置文件夹展开,所有配置文件和生成的证书都位于该文件夹中。
在 Windows 上,此文件夹是C:\Certbot。可以使用--config-dirCertbot CLI 上的标志进行更改。
在此文件夹中,您将找到以下文件夹:
C:\Certbot\live:包含已颁发证书和密钥的当前版本
C:\Certbot\archive:包含已颁发的所有当前和以前版本的证书和密钥
C:\Certbot\log:包含 Certbot 活动日志
只需备份C:\Certbot文件夹即可保存 Certbot 安装。请注意,该archive文件夹很敏感,因为它包含加密私钥:此文件夹不应向未经授权的各方披露。
证书续订
Certbot for Windows 支持续订,甚至已经配置好了。事实上,Certbot 安装程序在安装过程中创建了一个计划任务,certbot renew每天执行两次。
只要有续订所需的环境(例如凭证、正在运行的 Web 服务器...),所有使用 Certbot for Windows 创建的证书都会自动续订。事实上,Certbot 会记住您在最初创建每个证书时用来证明您对域名的控制权的方法。此方法也用于自动续订。因此,如果您的环境自您首次获得证书以来发生了变化(例如,如果 TCP 端口 80 不再免费),您可能需要更改相关的身份验证方法,以便自动续订继续工作。
该应用程序主要设计用于 Windows 上的 IIS Web 服务器,但它也可以用于获取并自动更新 Apache 和 nginx 等的证书,采用“独立”模式,或者使用“webroot”方法。
我们的标准 IIS 集成可以自动配置 IIS 站点,但对于 Apache 或 nginx 等,您需要手动编辑 Web 服务器配置以使用应用程序生成的证书文件。
为你的 Web 服务器(Apache/nginx 等)获取证书
如果使用独立的 http 验证,请确保当前没有任何程序正在使用端口 80(例如 Apache、nginx)
使用新证书设置新的托管证书,添加您的域,单击请求证书以尝试获取证书。有关更多信息,请参阅请求证书- 如果一切正常,请继续部署。
或者使用“webroot”方法(通过 apache/nginx 提供 http ,而不是使用客户端内置的 http 服务器):
在Authorization > Http > Site Root Directory下设置指向站点根目录的质询响应文件的输出路径。
确保写入的无扩展名文本文件/.well-known/acme-challenge/可以通过 http 浏览
您可以使用“测试”来检查是否正常进行。
其他Windows端SSL证书自动申请续签软件:
https://certifytheweb.com/  这个是5个证书免费 免费版好像不能自动续签
https://www.win-acme.com/

2、安装完成后,以管理员方式运行cmd,输入cretbot --version,如果有显示就说明安装成功了
C:\Windows\System32>certbot --version certbot 2.9.0
命令行工具使用说明
用法:
  certbot [子命令] [选项] [-d 域名] [-d 域名] ...

Certbot工具用于获取和安装 HTTPS/TLS/SSL 证书。默认情况下,Certbot会尝试为本地网页服务器
(如果不存在会默认安装一个到本地)获取并安装证书。最常用的子命令和选项如下:

获取, 安装, 更新证书:
    (默认) run       获取并安装证书到当前网页服务器
    certonly        获取或更新证书,但是不安装
    renew           更新已经获取但快过期的所有证书
   -d 域名列表        指定证书对应的域名列表,域名之间使用逗号分隔

  --apache          使用Apache插件进行身份认证和安装
  --standalone      运行一个独立的网页服务器用于身份认证
  --nginx           使用Nginx插件进行身份认证和安装
  --webroot         把身份认证文件放置在服务器的网页根目录下
  --manual          使用交互式或脚本钩子的方式获取证书

   -n               非交互式运行
  --test-cert       从预交付服务器上获取测试证书
  --dry-run         测试获取或更新证书,但是不存储到本地硬盘

证书管理:
    certificates    显示使用Certbot生成的所有证书的信息
    revoke          撤销证书(supply --cert-path)
    delete          删除证书

3、申请通配符证书的命令
certbot certonly -d "*.piis.cn" -d piis.cn --manual --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory
命令说明:
certonly 安装模式
-d 申请证书的域名,如果是通配符域名输入 *.piis.cn
–manual 使用交互式或脚本钩子的方式获取证书
–preferred-challenges dns 使用 DNS 方式校验域名所有权
–server,Let’s Encrypt ACME v2 版本使用的服务器不同于 v1 版本,需要显示指定
4、*.piis.cn换成你想要申请的域名就可以了,接下来,会提示需要进行手动验证DNS:
Saving debug log to C:\Certbot\log\letsencrypt.log
Requesting a certificate for *.piis.cn and example.top
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please deploy a DNS TXT record under the name:
_acme-challenge.piis.cn.
with the following value:
MeZetcO-5n_7WeJIitM_eAR8lWUZ2EQriWOg1OxBcaE
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Press Enter to Continue
去域名解析那手动添加TXT记录就可以了,我这里申请的是通配符域名,还有一级域名,就需要添加两条记录来验证
Please deploy a DNS TXT record under the name:
_acme-challenge.piis.cn.
with the following value:
8eBntKwxymhu1erZuE7J9KPZnuxmE6kiYnBrDD3DkXU
(This must be set up in addition to the previous challenges; do not remove,
replace, or undo the previous challenge tasks yet. Note that you might be
asked to create multiple distinct TXT records with the same name. This is
permitted by DNS standards.)
Before continuing, verify the TXT record has been deployed. Depending on the DNS
provider, this may take some time, from a few seconds to multiple minutes. You can
check if it has finished deploying with aid of online tools, such as the Google
Admin Toolbox: https://toolbox.googleapps.com/apps/dig/#TXT/_acme-challenge.example.top.
Look for one or more bolded line(s) below the line ';ANSWER'. It should show the
value(s) you've just added.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Press Enter to Continue
根据提示域名解析上面的两条TXT记录
解析生效后按回车继续
接着就会显示申请成功的信息了
证书文件存在了另一个文件夹:C:\Certbot\archive
可以用certbot certificates来查看当前服务器上所有的已经安装的证书

分类:IDC资讯 百度收录 必应收录