憑證簽章請求產生器

為 SSL 憑證產生 CSR 的最新、經過充分測試的工具。

CSR 產生器
填寫下面的表單,為 SSL 憑證產生 CSR。

選擇此憑證的預期用途

這是你希望保護的完全限定網域

憑證簽章使用的雜湊演算法

用於簽署憑證的演算法

RSA 金鑰的位數。更長的金鑰更安全,但可能更慢。

自動憑證管理

需要管理 SSL 憑證?

試用我們的憑證管理平臺,在 AWS、Azure、GCP 和其他雲端供應商上自動完成 SSL 憑證的申請、部署和續期,讓 HTTPS 管理更簡單。

工具簡介

憑證簽章請求(CSR)是取得 SSL/TLS 憑證的第一步。為網站設定 HTTPS 時,需要先產生 CSR 檔案,再提交給憑證頒發機構簽章。

線上 CSR 產生器讓這個過程更簡單,也更安全:

  • 完全在本地處理:CSR 全部在瀏覽器中產生,私密金鑰不會離開你的裝置
  • 支援多種演算法:支援 RSA(2048/3072/4096 位)和 ECDSA(P-256/P-384/P-521)簽章演算法
  • 設定靈活:可以新增多個網域(SAN)、萬用字元網域等
  • 無需安裝:不必安裝 OpenSSL 或其他命令列工具,直接在瀏覽器中產生 CSR

安全提示

使用 CSR 產生器時,私密金鑰和 CSR 都在瀏覽器本地產生,不會上傳到任何伺服器。此工具可以完全離線使用。

什麼時候需要產生 CSR?

以下情況需要產生 CSR:

  1. 購買新的 SSL 憑證:首次為網域申請 SSL/TLS 憑證
  2. 為即將到期的憑證續期:現有憑證即將到期,需要重新產生
  3. 更改網域資訊:需要修改憑證中的網域或組織資訊
  4. 金鑰可能洩露:如果懷疑私密金鑰洩露,應立即產生新的金鑰對和 CSR

如何為 CSR 選擇雜湊演算法

雜湊演算法用於為憑證建立數位簽章。選擇合適的雜湊演算法對憑證安全很重要。此 CSR 產生器支援三種主流雜湊演算法:

SHA-256 是目前使用最廣的雜湊演算法,在安全性和效能之間最均衡:

  • 安全性:輸出 256 位,足以抵禦目前已知的攻擊
  • 相容性:現代瀏覽器和作業系統都支援
  • 效能:計算速度快,適合大多數場景
  • 建議用途:99% 的情況都應選擇它

SHA-384

SHA-384 安全性更高,計算開銷也略大:

  • 安全性:輸出 384 位,安全餘量更大
  • 適用場景:金融、醫療等對安全要求極高的行業
  • 相容性:現代系統都支援

SHA-512

SHA-512 提供最高級別的安全性:

  • 安全性:輸出 512 位,安全保證最強
  • 效能影響:計算和驗證相對更慢
  • 適用場景:只有極少數有特殊安全要求的場合需要它

建議

對絕大多數使用者,建議使用 SHA-256。除非有特殊合規要求,SHA-256 已經足夠安全。

如何為 CSR 選擇簽章演算法

線上產生 CSR 時需要選擇簽章演算法。主要有兩種:RSA 和 ECDSA。

RSA 演算法

RSA 是最傳統、使用最廣的簽章演算法:

優點:

  • 相容性廣:幾乎所有裝置和瀏覽器都支援,包括舊系統
  • 成熟穩定:經過數十年實際使用驗證
  • 憑證頒發機構普遍支援:所有憑證頒發機構都支援

缺點:

  • 金鑰較長:通常需要 2048 位或 4096 位才能保證安全
  • 效能開銷:加密和解密相對較慢
  • 憑證較大:產生的憑證檔案更大

建議的金鑰長度:

  • 2048 位:標準選擇,安全且效能好,適合大多數場景
  • 4096 位:安全性更高,但效能影響明顯,適合高安全要求

ECDSA 演算法

ECDSA(橢圓曲線數位簽章演算法)是更現代的選擇:

優點:

  • 金鑰更短:256 位 ECDSA 金鑰的安全性約相當於 3072 位 RSA 金鑰
  • 效能好:簽章產生和驗證更快
  • 節省頻寬:憑證更小,傳輸更快
  • 適合移動裝置:更適合資源有限的裝置

缺點:

  • 相容性:部分舊系統可能不支援(例如 Windows XP、Android 4.x 及更早版本)
  • 憑證頒發機構支援:部分憑證頒發機構可能不支援,或會額外收費

建議的曲線:

  • P-256(secp256r1):標準選擇,支援廣泛
  • P-384(secp384r1):安全級別更高

應該選哪一個?

建議:RSA 2048

如果網站需要涵蓋所有使用者(包括使用舊裝置的使用者),RSA 2048 位是最穩妥的選擇。可以用線上 CSR 產生工具輕鬆建立 RSA 憑證簽章請求。

建議:ECDSA P-256

行動應用程式通常對效能和頻寬更敏感。ECDSA 體積小、效能高,是合適的選擇。現代移動裝置都支援 ECDSA。

建議:RSA 2048 或更長

企業環境可能需要支援多種作業系統版本,RSA 的相容性優勢更明顯。如果有特殊安全要求,可以選擇 RSA 4096。

建議:ECDSA P-256

API 服務通常由現代用戶端呼叫,可以充分利用 ECDSA 的效能優勢,縮短 TLS 握手時間。

如何使用 OpenSSL 產生 CSR

線上 CSR 產生器已經很方便,瞭解如何用命令列產生 CSR 仍然有用。OpenSSL 是最常用的命令列工具。

RSA 憑證簽章請求

# Generate 2048-bit RSA private key and CSR
openssl req -new -newkey rsa:2048 -nodes \
  -keyout domain.key \
  -out domain.csr

# Generate 4096-bit RSA private key and CSR
openssl req -new -newkey rsa:4096 -nodes \
  -keyout domain.key \
  -out domain.csr

執行後,系統會提示輸入以下資訊:

  • Country Name(國家或地區代碼,例如 US)
  • State or Province(省或州)
  • Locality Name(城市)
  • Organization Name(組織名稱)
  • Organizational Unit(部門)
  • Common Name(網域,例如 autossl.dev)
  • Email Address(選填)

先建立設定檔 csr.conf:

# Request configuration section
[req]
default_bits = 2048              # RSA key size in bits
prompt = no                      # Disable interactive prompts
default_md = sha256              # Hash algorithm for signature
distinguished_name = dn          # Reference to DN section below
req_extensions = req_ext         # Reference to extensions section

# Distinguished Name (certificate subject information)
[dn]
C = US                           # Country code
ST = California                  # State or Province
L = San Francisco                # Locality (city)
O = Example Company              # Organization name
CN = autossl.dev                 # Common Name (primary domain)

# Request extensions (additional certificate attributes)
[req_ext]
subjectAltName = @alt_names      # Reference to alternative names section

# Subject Alternative Names (additional domains for this certificate)
[alt_names]
DNS.1 = autossl.dev              # Primary domain
DNS.2 = www.autossl.dev          # Subdomain with www
DNS.3 = *.autossl.dev            # Wildcard for all subdomains

然後產生 CSR:

openssl req -new -nodes \
  -newkey rsa:2048 \
  -keyout domain.key \
  -out domain.csr \
  -config csr.conf
openssl req -new -newkey rsa:2048 -nodes \
  -keyout domain.key -out domain.csr \
  -subj "/C=US/ST=California/L=San Francisco/O=Example Company/CN=autossl.dev"

注意:此方法無法新增 SAN(主體別名)。

ECDSA 憑證簽章請求

# Generate ECDSA private key using P-256 curve
openssl ecparam -genkey -name prime256v1 -out domain.key

# Using P-384 curve
openssl ecparam -genkey -name secp384r1 -out domain.key

# Generate CSR based on private key
openssl req -new -key domain.key -out domain.csr

檢查產生的 CSR

產生 CSR 後,可以用以下命令檢查內容:

# View detailed CSR information
openssl req -text -noout -in domain.csr

# Verify CSR signature
openssl req -verify -in domain.csr

# Extract domain information from CSR
openssl req -noout -subject -in domain.csr

私密金鑰安全

產生的私密金鑰檔案(例如 domain.key)必須妥善保管,不能向任何人洩露。建議設定嚴格的檔案權限:chmod 600 domain.key

常見問題

CSR 和私密金鑰是什麼關係?

產生 CSR 時,實際產生的是一對金鑰:私密金鑰和公開金鑰。CSR 包含公開金鑰和身分資訊,私密金鑰必須保密。憑證頒發機構根據 CSR 中的資訊簽發憑證,該憑證只能與對應的私密金鑰一起使用。

同一份 CSR 可以重複使用嗎?

技術上可以,但不建議。每次申請新憑證時,最好產生新的金鑰對和 CSR。憑證到期或需要重新簽發(例如更換憑證頒發機構)時,應產生新的憑證簽章請求。

提交 CSR 之後必須保留什麼?

必須保留私密金鑰檔案。憑證簽發後,設定 SSL/TLS 需要這把私密金鑰。如果丟失私密金鑰,即使拿到憑證也無法使用,只能重新申請。

線上工具和命令列產生有什麼區別?

功能上沒有區別。此 CSR 產生器使用 Web Crypto API 在瀏覽器中產生金鑰,結果與 OpenSSL 產生的結果相容。線上工具的優勢是更直觀,不需要安裝軟體,也不需要記憶命令。

最佳實務

  1. 選擇金鑰長度:RSA 至少使用 2048 位;ECDSA 使用 P-256 或更高
  2. 按時續期:不要等到憑證到期再續期,建議提前 30 天續期
  3. 使用 SHA-256:除非有特殊要求,SHA-256 是最合適的選擇
  4. 新增 SAN:如果網站有多個網域(例如 autossl.dev 和 www.autossl.dev ),產生 CSR 時把所有網域都加上
  5. 保護私密金鑰:使用嚴格的檔案權限,並考慮加密儲存
  6. 備份私密金鑰:把私密金鑰備份到安全的位置,同時確保備份本身也受到保護

現在就可以使用 CSR 產生器,為網站快速、安全地產生憑證簽章請求。