最簡單的,在win,linux中,用powershell,自動獲取Let's Encrypt證書方法

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

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

#原理:它經過某個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
相關文章
相關標籤/搜索