由多個 CA 簽署的證書

由多個 CA 簽署的證書

是否可以擁有由多個 CA 簽署的 OpenSSL 憑證?

背景:我們有一個CA來頒發證書,主要用於我們的機器對機器通訊。現在我們需要讓一些服務也可供用戶訪問,並希望使用相同的 CA,但它當然不受大多數供應商的信任。如果我們能讓其他 CA 簽署這些憑證以增加信任,那就太好了。

答案1

不,X.509 憑證(OpenSSL 使用的類型)不可能有多個簽章。但是,您可以頒發多個證書來完成相同的工作。

如果您保持金鑰和主題相同,您可以建立多個 CA 證書,每個證書都可以作為(那些?)CA 頒發的證書的有效頒發者證書。這些 CA 憑證本身可能是自簽署的,或由不同的 CA 頒發,即所謂的交叉簽名憑證。

其他回答者是正確的:任何商業 CA 都希望在交叉簽署您的 CA 之前非常徹底地檢查您的政策和程序。也就是說,從技術角度來看這絕對是可能的。

如果您所說的使用者僅使用您控制的裝置(即他們是內部使用者),那麼我建議在這些裝置上安裝您的根 CA 憑證。這是許多大公司所做的(實際上我是在自己的網路上這樣做的!),並允許您根據自己的策略隨意頒發僅供內部使用的證書。

另一方面,如果使用者位於組織外部(例如,甚至是在家工作的員工),那麼最好擁有由受信任的商業 CA 頒發的憑證。如果您需要大量此類證書(每年 5 個以上),大多數商業 CA 都有可以減輕管理負擔並通常降低成本的計劃;如果您需要的數量確實很大(除非每年超過 100 個,否則我什至不會費心去尋找),您可以考慮與 CA 聯繫以設置自定義從屬 CA(但如上所述,他們可能會希望您設置一個新的CA 根據他們的政策而不是交叉簽署您現有的政策)。

答案2

如果我們能讓其他 CA 簽署這些憑證以增加信任,那就太好了。

即使這是可能的,也不會提高信任級別,因為不受信任的一方也會簽署該證書,這意味著該證書通常不應被信任。我建議您只簽署主要平台真正信任的新 CA 供應商的所有內容。

答案3

增加信任的唯一方法是讓您CA由受信任的 CA 簽署。這樣,您的 CA 將充當中間 CA,以便用戶端可以沿著您的憑證鏈返回到預先信任的 CA 之一,但您頒發的憑證仍然都源自於一個公共根。

至少理論上是這樣,但據我了解,除非您將 PKI 交給他們,否則沒有 CA 願意這樣做。這CACert 維基有一些關於這個問題的細節。

看起來,您要么讓客戶安裝新的受信任的 CA,要么讓面向客戶的證書不是由您自己的 CA 頒發,而是由一些大型的、預先受信任的 CA 頒發,正如 Ramhound 建議的那樣。

相關內容