最简单的,在win,linux中,用powershell,自动获取Let's Encrypt证书方法
2024-09-04 18:55:20
powershell传教士原创 2020-04-12
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/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 #设定生产服务器,限制速率。
创建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
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
~/.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容器)
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
最新文章
- JavaScript系列文章:变量提升和函数提升
- 由position属性引申的关于css的进阶讨论(包含块、BFC、margin collapse)
- Atitit 多继承实现解决方案 java c#
- Sublime Text2配置过程
- HYSBZ 1588 营业额统计
- modifiedvalues 主程序测试
- UIWebView通过JS语句获取网页(html)的某些数值
- Javascript类型
- Bzoj 2431 HAOI2009 逆序对数列
- linux运维社区站点收集
- EF中主表和附表一起提交的话,如果主附表的主键外键已经设定。
- Lua 学习笔记(一)
- Mysql 时间操作
- UVA 10317 - Equating Equations (背包)
- JavaScript权威指南科03章 种类、值和变量(1)
- HDU 1814 Peaceful Commission
- JQuery浮动层Loading页面加载特效
- 如何将ASP.NET-WebApi发布到IIS6.0上(转)
- vue 集成 axios 发送post请求 payload导致后台无法接收到数据问题
- Ceph 集群整体迁移方案(转)
热门文章
- Codeforces Round #653 (Div. 3) B. Multiply by 2, divide by 6 (数学)
- 牛客编程巅峰赛S1第5场 - 青铜&;白银 C.排队 (优先队列,归并排序)
- Base64 编码原理
- JPG学习笔记1(附完整代码)
- C/C++程序内存的各种变量存储区域和各个区域详解
- hautoj 1268 小天使改名
- IDEA如何安装lombok
- linux通识
- 图解 HTTP, 图解 HTTPS, 图解 HTTP/2, 图解 HTTP/3, 图解 QUIC
- Github history viewer