windows的acme客户端
背景
常见的acme客户端有acme.sh和certbot。
前者只支持bash环境,后者在前两年停止了windows支持。
于是乎找一些acme客户端,毕竟申请证书还挺麻烦。
比如freessl这个网站,申请证书需要提供csr,然后指引是通过keyManager这个软件。
然后还需要手动搞一下dns验证,拿起手机登录腾讯云,找dns解析的位置……
第一次搞这个肯定是不嫌复杂,但是三个月后,想起这个流程就很烦了,加上网站没有别人用,因此拖了好几周。
列表
这个列表里面有很多acme客户端
https://letsencrypt.org/docs/client-options/
这是certbot在停止windows支持后提出的解决方案。
https://community.letsencrypt.org/t/certbot-discontinuing-windows-beta-support-in-2024/208101
Posh-ACME
在windows上,这个方案应该是最轻量的,但是算不上好用。
打开powershell,执行如下命令
Install-Module -Name Posh-ACME -Scope CurrentUser
创建acme账号
New-PAAccount -Contact 'dreamsoul23@qq.com' -AcceptTOS
需要找到对应的提供商的apikey生成处,我找了半天没找到,最后问了一下腾讯云的这个ai助手。找到了地址https://console.dnspod.cn/account/token/apikey

相关的指引https://poshac.me/docs/v4/Plugins/TencentDNS/
根据上述指引生成证书,把id换成自己的,然后提示输入时粘贴key的值,并执行,然后执行下面那个New-PACertificate命令,他会阻塞一段时间(没有输出)
$pArgs = @{
TencentKeyId = 'xxx'
TencentSecret = (Read-Host 'Enter Secret' -AsSecureString)
}
New-PACertificate api.dreamsoul.cn -Plugin TencentDNS -PluginArgs $pArgs

获取生成的证书的相关信息
Get-PACertificate | Format-List

指引中提到,posh-acme只负责生成证书。
https://community.letsencrypt.org/t/certbot-discontinuing-windows-beta-support-in-2024/208101/9
https://poshac.me/docs/v4/Tutorial/#task-scheduler-cron

其他
Certify The Web和win-acme可能是更好的选择。

浙公网安备 33010602011771号