PowerShell免费软件

最简单的,在win,linux中,用powershell,自动获取Let's Encrypt证书方法

powershell传教士原创 2020-04-12,2022-05更新

Let’s Encrypt证书有效期3个月,支持泛域名【*.你的网站.net】。支持n天内(一般10天内就够用了),用脚本自动续期。

简介:

这个模块支持acmev2的api,这个模块支持跨平台运行,支持linux下使用。
这个模块,可以通过http,设置下级域名(dns)来认证域名。不支持通过在httpd下存放特殊文件,来验证域名。
dns插件支持:azure,aliyun,dnspod,aws,windns,bind等
dns插件支持列表:
https://github.com/rmbolger/Posh-ACME/wiki/List-of-Supported-DNS-Providers


官网:


https://github.com/rmbolger/Posh-ACME

powershell画廊网址:
https://www.powershellgallery.com/packages/Posh-ACME

win,linux下,用管理员安装:

Install-Module -Name Posh-ACME

用管理员权限,开启powershell执行权限:(linux跳过此步骤)
Set-ExecutionPolicy RemoteSigned -Force

指定从Let’s Encrypt非生产服务器获取证书,并接受协议:

Set-PAServer LE_STAGE #设定测试服务器,可以无限次数获取证书玩。
 

指定从Let’s Encrypt生产服务器获取证书,并接受协议:

Set-PAServer LE_PROD #设定生产服务器,限制获取证书速率。
 
 

从其他证书服务商,获取证书:

各家免费ssl的技术参数,和免费天数。
https://github.com/rmbolger/Posh-ACME/blob/main/docs/Guides/ACME-CA-Comparison.md

 

#Set-PAServer BUYPASS_PROD buypass 生产。免费6个月,不支持通配符。
#Set-PAServer BUYPASS_TEST buypass test

#Set-PAServer ZEROSSL_PROD
#Set-PAServer GOOGLE_PROD
#Set-PAServer GOOGLE_STAGE
#Set-PAServer SSLCOM_RSA
#Set-PAServer SSLCOM_ECC

创建Let’s Encrypt账户:

New-PAAccount -AcceptTOS ` #接受协议,并创建账户,只需要运行一次
 -Contact 'me@example.com'  #你的网站管理邮箱
 

通过dns和应答txt,来获取Let’s Encrypt证书:

New-PACertificate '*.example.com','example.com' ` #要授权的域名
 -DnsPlugin Flurbog `#dns插件名字
  -PluginArgs @{FBServer='fb.example.com'; FBCred=(Get-Credential)}
 
dns插件支持列表:
https://github.com/rmbolger/Posh-ACME/wiki/List-of-Supported-DNS-Providers

#原理:它通过某个dns插件来工作。支持阿里,腾讯,dnspod等。
#通过dns插件,得到dns管理权限,通过命令,去dns上设置个【uuid类似】的特殊子域名,来证明你拥有域名的管理权限。
#所以这里,需要输入你的dns管理员,账户和密码。
 

得到的证书,的存储路径:

Windows:
%LOCALAPPDATA%\Posh-ACME
 
linux:
~/.config/Posh-ACME
 

证书文件说明:

cert.cer(Base64编码的PEM证书)
cert.key(Base64编码的PEM私钥)
cert.pfx(带有证书+密钥的PKCS12容器)
chain.cer(带有颁发CA证书链的Base64编码的PEM)
fullchain.cer(带有cert + chain的Base64编码的PEM)
fullchain.pfx(带有证书+密钥+链的PKCS12容器)
 

输出,得到的证书,详细信息:

Get-PACertificate | Format-List
 

续订证书:

Submit-Renewal
 
 
 

centos先更新根证书:

yum install ca-certificates
update-ca-trust
 
 
注意:
关于,用网站文件方式,验证域名。
本软件或模块,不支持用【网站文件方式】验证域名。
另外听闻,使用这种方式,不允许授权 带 * 的泛域名证书。
 

posted on   PowerShell免费软件  阅读(576)  评论(1编辑  收藏  举报

编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
历史上的今天:
2017-03-03 两款【linux字符界面下】显示【菜单】,【选项】的powershell脚本模块介绍
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示