如何在 Linux 環境下建立自簽憑證

手把手教學如何在 Linux 環境下利用 OpenSSL 建立自簽憑證

目錄

本文將手把手教學如何在 Linux 環境下利用 OpenSSL 工具建立一組自簽憑證。

安裝 OpenSSL

確認系統是否已安裝 OpenSSL:

1
openssl version

若未安裝,需要先行安裝(以 Ubuntu 為例):

1
2
sudo apt update
sudo apt install openssl

建立自簽憑證

產生 RSA 私鑰與自簽憑證:

1
openssl req -new -newkey rsa:4096 -nodes -x509 -sha256 -days 365 -keyout domain.key -out domain.crt

參數說明:
-new:建立一個新的憑證請求。
-newkey rsa:4096:同時產生一組新的 4096 位元 RSA 金鑰。
-nodes:不對私鑰進行加密(不使用 DES 加密)。
-x509:直接產生自簽憑證,而非產生 CSR。
-sha256:採用 SHA256 演算法進行摘要計算。
-days 365:設定憑證有效期限為 365 天。
-keyout domain.key:指定輸出私鑰檔案的名稱。
-out domain.crt:指定輸出憑證檔案的名稱。

執行上述指令後,系統會要求輸入一些基本資訊:

  • Country Name:國家代碼(例如:TW)
  • State:台灣不需輸入,可按 enter 鍵略過
  • Locality:城市名稱
  • Organization:公司或組織名稱
  • Organizational Unit:部門名稱
  • Common Name:網域名稱(不帶 https://)
  • Email Address:電子信箱,可輸入也可略過

產生的 domain.key 為私鑰,務必妥善保存。
產生的 domain.crt 為憑證檔案。

驗證憑證

檢查憑證內容是否正確:

1
openssl x509 -in domain.crt -text -noout

參數說明:
-in domain.crt:指定要讀取的憑證檔案
-text:以文字格式顯示憑證內容
-noout:不輸出編碼後的憑證內容

檢查私鑰格式是否正確:

1
openssl rsa -check -in domain.key

參數說明:
-check:檢查私鑰格式是否正確
-in domain.key:指定要檢查的私鑰檔案

檢查憑證與私鑰是否匹配:

1
2
openssl x509 -noout -modulus -in domain.crt | openssl md5
openssl rsa -noout -modulus -in domain.key | openssl md5

如果兩個指令產生的 MD5 值相同,表示憑證與私鑰是匹配的

安全性設定

  1. 私鑰檔案權限設定:
1
chmod 600 domain.key
  1. 憑證檔案權限設定:
1
chmod 644 domain.crt
  1. 建議將私鑰存放在安全的位置,例如:
    • /etc/ssl/private/
    • /etc/pki/tls/private/

注意事項

  • 自簽憑證僅適用於開發測試環境
  • 自簽憑證未經 CA 機構驗證,可能存在風險
  • 正式環境建議使用受信任的 CA 機構簽發的憑證
  • 私鑰檔案必須妥善保管避免外洩
如需轉載引用需保留原始連結及作者姓名,並以相同方式分享。CC BY-SA 4.0  
最後更新 2025/04/18 14:18 +0800
瀏覽次數
本站總訪問量
使用 Hugo 建立
主題 StackJimmy 設計