Ssl

如何從我自己的 CA 創建 SSL 證書鏈?

  • December 12, 2015

我使用自己的 CA 為我的基礎設施中的服務創建 SSL 證書。這些證書由我的 CA 直接簽名。

在我看來,這可能是一個弱策略,就好像證書要被洩露一樣,我需要從一個 CA 創建新的。如果 CA 被入侵,遊戲就會結束,因為每項服務都需要更新。

所以我的理解是,“保護”自己和“淡化”關注點的典型方法是創建一個證書鏈,並在鏈的末端簽署服務證書,這樣如果簽名者被洩露,下一個級別可用於創建新的簽名證書。

我說對了嗎?

然後我想做的是創建自己的證書鏈。

整個 TLS/SSL 對我來說仍然有點模糊,但正如我所見,首先創建一個主密鑰,openssl genrsa然後使用該密鑰創建一個自簽名證書openssl req -x509 -new來創建 CA。

openssl req -new -key' and sign the request with my CA with然後我可以使用openssl x509 -req -CA ca.pem創建新密鑰和證書籤名請求…`

那麼,要創建一個證書鏈,應該怎麼做呢?

我是否只需創建一個新密鑰、新簽名請求,並使用最後一個簽名證書而不是 CA 對其進行簽名?依此類推,直到我有足夠的保護級別,然後用最低級別的證書籤署所有證書/密鑰對?

這東西令人困惑,我想把它做對;-)

我發現的所有關於 TLS 的內容都極其複雜,而“簡單”的教程則晦澀難懂。我正在瀏覽 openssl 手冊頁,但我想簡單地解釋一下這個過程,然後我會確保每一步都正確。

感謝您的洞察力。

您使用根 CA 簽署中間 CA 請求。使用此簽名證書頒發機構,根 CA 可以保持離線狀態。

根 CA 仍然可以信任,並在必要時發布替換簽名 CA。然後挑戰變成頒發證書吊銷,特別是如果您不控制所有客戶端。

如果您手動執行此過程,則該過程有些複雜。有關指南,請參閱https://jamielinux.com/docs/openssl-certificate-authority/

當 Let’s Encrypt 現在處於公共測試版時,似乎大驚小怪……

https://letsencrypt.org/

引用自:https://serverfault.com/questions/742503