跳转至

憑證的簽發與驗證

簽發憑證的實際流程(以生成 PEM 為例)

當你說「簽發一個中繼憑證」時,實際上發生了以下數學過程:

  1. 準備內容:將申請者的資訊(CN, O, OU 等)與申請者的公鑰打包成一個檔案。
  2. 雜湊運算 (Hashing):將上述包好的內容跑一次演算法(如 SHA-256),得到一段固定長度的「指紋」。
  3. 私鑰加密 (Encryption):CA 使用自己的 私鑰 對這段「指紋」進行加密。這段加密後的資料就是「數位簽章」
  4. 封裝 PEM:將「原始內容」與「數位簽章」合在一起,就成了你看到的 .pem 憑證。

能用公鑰來簽發憑證?

在非對稱加密(RSA/ECC)中,公鑰只能用來「加密資料」或「驗證簽章」。如果你嘗試用公鑰去簽發,數學上是行不通的,因為公鑰不具備產生簽章所需的私密參數。

印泥與印章

簽發(Signing)這個動作永遠只能由「私鑰」完成,而「公鑰」則是用來驗證(Verification)。 「私鑰」是印章(刻在石頭上的實體),而「公鑰」是印泥留下的圖樣(公開給大家對照的樣本)。沒有印章實體,你印不出圖樣。

私鑰(Private Key):就是「印章實體」

只有你手上有這顆章,所以只有你能「蓋」出那個獨一無二的印記。這就是簽署 (Signing)

公鑰(Public Key):就是「蓋出來的印相」

別人拿著這張傳單(公鑰),去對比你新蓋的印章,如果紋路一模一樣,就能確定「這真的是你蓋的」。這就是驗證 (Verification)

檔案類型說明

  1. .crt.pem 憑證檔:只包含「被簽署的內容」和「簽發者的簽章」。它是給別人看的,裡面只有公鑰
    1. 類比: .crt.pem:那是公文或印相,是用來發給全世界看,證明你是誰用的。
  2. .key 檔案:這才是私鑰,絕對不能傳給別人。
    1. 類比:.key:那是印章實體,絕對不能給別人看,給了別人他就能到處幫你蓋章(冒充你)。