Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

cdcd72/zerossl-scripts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

4 Commits

Repository files navigation

ZeroSSL 憑證自動化腳本

此儲存庫包含 PowerShell 腳本,用於自動化從 ZeroSSL 獲取和管理 SSL 憑證的過程。

流程圖

graph TD
 A[開始憑證請求] --> B[建立憑證請求];
 B --> C[取得 CNAME 驗證資訊];
 C --> D[使用者確認 DNS 記錄已生效];
 D --> E[驗證 CNAME 記錄];
 E --> F{等待驗證完成};
 F --> |未簽發| F{等待驗證完成};
 F --> |簽發| G[下載憑證包];
 G --> H[儲存憑證檔案];
Loading

腳本對照表

情境描述 腳本名稱
開始憑證請求 new-zerossl-certificate.ps1
建立憑證請求 create-zerossl-certificate.ps1
取得 CNAME 驗證資訊 get-zerossl-cname-challenge-info.ps1
驗證 CNAME 記錄 verify-zerossl-cname-validation.ps1
等待驗證完成 wait-zerossl-validation-completion.ps1
下載憑證包 download-zerossl-certificate-bundle.ps1
儲存憑證檔案 save-zerossl-certificate-files.ps1

腳本

  • new-zerossl-certificate.ps1: 協調整個 ZeroSSL 憑證請求過程。它接受 API 金鑰、CSR 檔案路徑、網域清單和輸出路徑作為參數。它呼叫其他腳本來建立憑證、取得 CNAME 驗證資訊、驗證 CNAME 記錄、等待驗證完成、下載憑證包,並將憑證檔案儲存到指定的路徑。
  • create-zerossl-certificate.ps1: 使用 ZeroSSL API 和提供的 CSR 檔案,為指定的網域建立新的憑證。它將憑證請求提交到 ZeroSSL API 並傳回憑證 ID。
  • get-zerossl-cname-challenge-info.ps1: 使用 ZeroSSL API 和提供的憑證 ID 檢索 CNAME 驗證資訊。它向 ZeroSSL API 發出請求並傳回每個網域的 CNAME 驗證資訊,包括目標主機和目標記錄。
  • verify-zerossl-cname-validation.ps1: 通知 ZeroSSL API 執行 CNAME 驗證。它接受 API 金鑰和憑證 ID 作為參數。它向 ZeroSSL API 發出請求,以使用 CNAME_CSR_HASH 方法驗證憑證。
  • wait-zerossl-validation-completion.ps1: 輪詢 ZeroSSL API,直到頒發憑證或達到最大重試次數。它接受 API 金鑰和憑證 ID 作為參數。它定期向 ZeroSSL API 發出請求,以檢查憑證狀態。
  • download-zerossl-certificate-bundle.ps1: 使用 ZeroSSL API 和提供的憑證 ID 下載憑證包。它向 ZeroSSL API 發出請求並傳回憑證包的內容。
  • save-zerossl-certificate-files.ps1: 將憑證檔案儲存到指定的路徑。它接受憑證資料(包含憑證和 CA 鏈)和輸出路徑作為參數。它建立輸出資料夾(如果不存在)並將主憑證和 CA 鏈儲存為 .crt 檔案。

如何建立 CSR 檔案?

  1. 安裝 OpenSSL。

  2. 執行以下指令,它應該會要你打一些資訊,視你情境去輸入。

    openssl req -nodes -newkey rsa:2048 -sha256 -keyout example.key -out example.csr
  3. 產生出來的 example.key 請保管好。

  4. 產生出來的 example.csr 拿來作為 CSR 檔案輸入。

執行範例

.\new-zerossl-certificate.ps1 -ApiKey <key> -CsrPath <csrpath> -Domains @("example.com") -OutputPath ".\cert"

驗證支援情境

  • Email 驗證
  • CNAME 驗證
  • File 上傳驗證

目前僅支援 CNAME 驗證。

About

ZeroSSL 憑證自動化腳本

Topics

Resources

License

Stars

Watchers

Forks

AltStyle によって変換されたページ (->オリジナル) /