憑證的簽發與驗證
簽發憑證的實際流程(以生成 PEM 為例)
當你說「簽發一個中繼憑證」時,實際上發生了以下數學過程:
- 準備內容:將申請者的資訊(CN, O, OU 等)與申請者的公鑰打包成一個檔案。
- 雜湊運算 (Hashing):將上述包好的內容跑一次演算法(如 SHA-256),得到一段固定長度的「指紋」。
- 私鑰加密 (Encryption):CA 使用自己的 私鑰 對這段「指紋」進行加密。這段加密後的資料就是「數位簽章」。
- 封裝 PEM:將「原始內容」與「數位簽章」合在一起,就成了你看到的
.pem憑證。
能用公鑰來簽發憑證?
在非對稱加密(RSA/ECC)中,公鑰只能用來「加密資料」或「驗證簽章」。如果你嘗試用公鑰去簽發,數學上是行不通的,因為公鑰不具備產生簽章所需的私密參數。
印泥與印章
簽發(Signing)這個動作永遠只能由「私鑰」完成,而「公鑰」則是用來驗證(Verification)。 「私鑰」是印章(刻在石頭上的實體),而「公鑰」是印泥留下的圖樣(公開給大家對照的樣本)。沒有印章實體,你印不出圖樣。
私鑰(Private Key):就是「印章實體」
只有你手上有這顆章,所以只有你能「蓋」出那個獨一無二的印記。這就是簽署 (Signing)。
公鑰(Public Key):就是「蓋出來的印相」
別人拿著這張傳單(公鑰),去對比你新蓋的印章,如果紋路一模一樣,就能確定「這真的是你蓋的」。這就是驗證 (Verification)。
檔案類型說明
.crt或.pem憑證檔:只包含「被簽署的內容」和「簽發者的簽章」。它是給別人看的,裡面只有公鑰。- 類比:
.crt或.pem檔:那是公文或印相,是用來發給全世界看,證明你是誰用的。
- 類比:
.key檔案:這才是私鑰,絕對不能傳給別人。- 類比:
.key檔:那是印章實體,絕對不能給別人看,給了別人他就能到處幫你蓋章(冒充你)。
- 類比: