powershell傳教士原創(chuàng) 2020-04-12
Let’s Encrypt證書有效期3個(gè)月,,支持泛域名【*.你的網(wǎng)站.net】,。支持n天內(nèi)(一般10天內(nèi)就夠用了),用腳本自動(dòng)續(xù)期,。
簡(jiǎn)介:
這個(gè)模塊支持acmev2的api,,這個(gè)模塊支持跨平臺(tái)運(yùn)行,支持linux下使用,。 這個(gè)模塊,,可以通過(guò)http,設(shè)置下級(jí)域名(dns)來(lái)認(rèn)證域名,。不支持通過(guò)在httpd下存放特殊文件,,來(lái)驗(yàn)證域名,。 dns插件支持:azure,aliyun,,dnspod,,aws,windns,,bind等
dns插件支持列表: https://github.com/rmbolger/Posh-ACME/wiki/List-of-Supported-DNS-Providers
官網(wǎng):
https://github.com/rmbolger/Posh-ACME
powershell畫廊網(wǎng)址: https://www./packages/Posh-ACME
win,,linux下,用管理員安裝:
Install-Module -Name Posh-ACME
用管理員權(quán)限,,開啟powershell執(zhí)行權(quán)限:(linux跳過(guò)此步驟) Set-ExecutionPolicy RemoteSigned -Force
指定從Let’s Encrypt非生產(chǎn)服務(wù)器獲取證書,,并接受協(xié)議:
Set-PAServer LE_STAGE #設(shè)定測(cè)試服務(wù)器,可以無(wú)限次數(shù)獲取證書玩,。
指定從Let’s Encrypt生產(chǎn)服務(wù)器獲取證書,,并接受協(xié)議:
Set-PAServer LE_PROD #設(shè)定生產(chǎn)服務(wù)器,限制速率,。
創(chuàng)建Let’s Encrypt賬戶:
New-PAAccount -AcceptTOS ` #接受協(xié)議,,并創(chuàng)建賬戶,只需要運(yùn)行一次 -Contact ' [email protected]' #你的網(wǎng)站管理郵箱
通過(guò)dns和應(yīng)答txt,,來(lái)獲取Let’s Encrypt證書:
New-PACertificate '*.example.com','example.com' ` #要授權(quán)的域名 -DnsPlugin Flurbog `#dns插件名字 -PluginArgs @{FBServer='fb.example.com'; FBCred=(Get-Credential)}
dns插件支持列表: https://github.com/rmbolger/Posh-ACME/wiki/List-of-Supported-DNS-Providers
#原理:它通過(guò)某個(gè)dns插件來(lái)工作,。支持阿里,騰訊,,dnspod等,。 #通過(guò)dns插件,得到dns管理權(quán)限,,通過(guò)命令,,去dns上設(shè)置個(gè)【uuid類似】的特殊子域名,來(lái)證明你擁有域名的管理權(quán)限,。 #所以這里,,需要輸入你的dns管理員,賬戶和密碼,。
得到的證書,,的存儲(chǔ)路徑:
Windows: %LOCALAPPDATA%\Posh-ACME
linux: ~/.config/Posh-ACME
證書文件說(shuō)明:
cert.cer(Base64編碼的PEM證書) cert.key(Base64編碼的PEM私鑰) cert.pfx(帶有證書+密鑰的PKCS12容器) chain.cer(帶有頒發(fā)CA證書鏈的Base64編碼的PEM) fullchain.cer(帶有cert + chain的Base64編碼的PEM) fullchain.pfx(帶有證書+密鑰+鏈的PKCS12容器)
輸出,得到的證書,,詳細(xì)信息:
Get-PACertificate | Format-List
續(xù)訂證書:
Submit-Renewal
centos先更新根證書:
yum install ca-certificates update-ca-trust
|