
在過去的幾天裡,我試圖了解憑證的故事,並且了解了它們的主要原理,但是當我們創建 CA 憑證來簽署我自己的伺服器憑證時,我不明白那一步。
我將在這裡總結我對創建新證書以將它們與我的伺服器上的服務一起使用的理解,請告訴我一切是否正確,並幫助我理解我錯過或不理解的要點:
我隨機創建自己的私鑰(伺服器金鑰)
我根據之前的公鑰產生我的公鑰(伺服器.csr),這個文件只是一個普通的證書,但沒有任何簽名。
我重複最後兩個步驟以獲得ca.key 和 ca.csr。並讓他們以某種方式簽署自己以獲得ca.crt(我不明白這裡的自簽名過程)。
用它們來簽署我的伺服器.csr要得到伺服器.crt。
現在我不明白的是,如果我能夠在步驟 3 中對文件進行自簽名,為什麼我不輕鬆地執行前兩個步驟並讓他們自己簽名以獲得該文件伺服器.crt文件?
我相信我誤解了有關自簽名過程的一些內容,但不幸的是,我看了很多影片並閱讀了很多文章,但沒有任何幫助修復這個問題。
答案1
當然,你可以這樣做。
您的完整流程不是甚至通常所說的「自簽名」——您實際上在這裡創建了整個 CA 層次結構。一些教程建議這樣做,以便將來的憑證替換更容易 – 而不必為新的自簽名憑證更新所有客戶端,您只需讓他們信任自訂 CA一次。
此外,有些人使用術語“自簽名”來表示默認情況下不受信任的任何證書。這種用法是錯誤的,因為從技術上講,所有根 CA 憑證也是自簽署的,但您的教學可能以這種方式使用它。