iT邦幫忙

2025 iThome 鐵人賽

DAY 4
0
Security

江湖在走,數位憑證要懂,懂得天天吃滷肉飯系列 第 4

第4天,數位憑證的產生 / 中崙張記藥膳排骨 排骨讚(台北松山)| 30天滷肉飯

  • 分享至 

  • xImage
  •  

在前一篇文章,我們認識了 公鑰私鑰。這對鑰匙能解決「加密」與「簽章」的問題,但還有一個現實挑戰:
👉 我要怎麼知道你給我的 公鑰 真的是你的,而不是中間人偷偷換掉的?

這時候,**公鑰憑證(Public Key Certificate)**就登場了。它是一種「把公鑰綁定到身分資訊」的電子文件,並由可信任的單位背書,讓大家可以確認公鑰的真實性。

一、公鑰憑證是什麼?

公鑰憑證通常簡稱 數位憑證(Digital Certificate),在 PKI(Public Key Infrastructure)架構中扮演核心角色。
它的基本功能是:

  • 綁定身分與公鑰:例如 www.example.com 的網域名稱 + 伺服器的公鑰。
  • 由可信單位背書:通常是 CA(Certificate Authority)憑證機構
  • 提供驗證與信任基礎:使用者可以藉由憑證來確認網站或系統的真實性。

二、公鑰憑證的內容

一張憑證的結構大致包含:

  • 主體資訊(Subject):憑證的擁有者(例如網域名稱、組織名稱)。
  • 發行者資訊(Issuer):簽發憑證的 CA。
  • 公鑰(Public Key):憑證持有者的公鑰。
  • 有效期限(Validity):起始時間與到期時間。
  • 用途(Key Usage / Extended Key Usage):定義憑證可以用在哪些情境(例如伺服器驗證、用戶端驗證、程式碼簽章)。
  • 簽章(Signature):由 CA 使用自己的私鑰對憑證內容簽章,確保不能竄改。

三、公鑰憑證的產生過程

https://ithelp.ithome.com.tw/upload/images/20250918/20163416QdvzAmfFTI.png

整個流程通常包含以下幾步:

1. 產生金鑰對(Key Pair)

  • 伺服器或使用者先透過工具(例如 openssl genpkey)產生 公鑰與私鑰
  • 公鑰用來發佈,私鑰則要妥善保管。

2. 建立憑證請求(CSR, Certificate Signing Request)

  • 使用者用自己的 私鑰 建立一份 CSR,裡面包含:

    • 公鑰
    • 主體資訊(例如 CN=www.example.com
    • 簽章(用私鑰簽 CSR 內容)
  • CSR 的用途就是「請 CA 幫我簽一張憑證」。

範例指令:

openssl req -new -key private.key -out request.csr

3. 提交CSR、公鑰到憑證頒發機構(CA, Certificate Authority)

將 CSR、公鑰提供給CA,請CA簽發憑證

4. CA 驗證申請者身分

  • 公開 CA 會驗證申請者是否真的擁有該網域或組織身分。

    • DV(Domain Validation):檢查網域控制權。
    • OV(Organization Validation):驗證組織資訊。
    • EV(Extended Validation):更嚴格的審核流程。

5. CA 簽發憑證

  • CA 用自己的 私鑰 對 CSR 進行簽章,產生一張完整的 X.509 憑證(通常是 .crt.pem)。
  • 憑證會包含公鑰與經過背書的身分資訊。

6. 發佈與使用

  • 使用者或伺服器將憑證、私鑰安裝到服務上(例如 Nginx、Apache、雲端服務)。
  • 當客戶端連線時,會驗證憑證是否有效,並透過信任鏈(Certificate Chain)確認 CA 是否可信。

四、實際範例

  1. 產生私鑰
openssl genpkey -algorithm RSA -out private.key -pkeyopt rsa_keygen_bits:2048
  1. 產生 CSR
openssl req -new -key private.key -out request.csr
  1. 使用自簽(Self-Signed)憑證測試
openssl x509 -req -in request.csr -signkey private.key -out certificate.crt -days 365

輸出結果會得到一張 certificate.crt,這就是公鑰憑證。

五、結語

公鑰憑證的存在,解決了「如何信任公鑰」的問題。它讓公鑰與身分資訊結合,再由可信的 CA 簽署,形成一個可被廣泛驗證的信任體系。

簡單來說:

  • 金鑰對:公鑰 + 私鑰
  • CSR:我要一張憑證的申請書
  • CA 簽章:背書公鑰與身分
  • 憑證:帶著「官方印章」的公鑰

這就是今天的主角 —— 公鑰憑證

中崙張記藥膳排骨

  • 店名:中崙張記藥膳排骨
  • 地址:台北市松山區八德路三段80號
  • 營業時間:星期日到五 17:30–23:30
  • Google Maps
  • 本系列地圖

https://ithelp.ithome.com.tw/upload/images/20250918/201634164gPppSq1D5.jpg

中崙張記藥膳排骨是台北中崙市場裡的人氣宵夜攤,以當歸、枸杞等藥材熬製的排骨湯聞名,湯頭溫潤不油膩,價格實惠、份量足,還能搭配滷味、小菜、滷肉飯,是夜貓族和下班族暖胃的好選擇。


上一篇
第3天, 公鑰與私鑰 / 一甲子餐飲 都是韓國人在吃(台北萬華)| 30天滷肉飯
系列文
江湖在走,數位憑證要懂,懂得天天吃滷肉飯4
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言