我的開發人員OP團隊希望在我們的Java密鑰庫中使用中級CA證書。我相信在密鑰庫中添加中間證書的過程與添加「常規證書」的過程相同,對嗎?是否有任何我需要注意的「陷阱」?另外,如何在測試中驗證Java使用中間證書而不是使用CA進行檢查?Java密鑰庫中的中間CA證書
回答
要回答爲了您的問題:
我相信加入中間證書到密鑰庫是相同的過程,如添加一個「正規證書」,正確嗎?
是的。例如,請參閱this VMWare documentation on installing intermediate CA's。
我需要注意哪些「疑難雜症」?
只有每個中間CA都需要它自己的別名。
此外,如何在測試中驗證Java使用中間證書而不是使用CA進行檢查?
如果你只是想驗證它不檢查根CA,那麼就不要安裝它,你知道它不能被使用。
更新:作爲對@布魯諾評論的迴應,公平地指出,這個答案只能解決問題中提出的問題。我在這裏假設,關於信任和證書分發的問題,首先有中間CA的正常原因,已經得到處理,並且這是所期望的解決方案。有關這些問題的更多信息,請參閱Bruno's answer。
您需要根據證書鏈進行推理。中間CA證書的目標是讓遠程方在最終實體證書(例如服務器或客戶端證書本身)和另一個CA證書之間建立鏈。
如果您正在討論將此中間CA證書導入將用作信任庫的密鑰庫,則無論該CA證書是中間證書還是「根」CA證書都無關緊要:它將成爲像使用該信任庫的應用程序一樣的可信錨點。
如果您在談論用作密鑰庫的密鑰庫,則需要確保您的EEC將與正確的鏈一起出現。例如,我們假設CA_1爲CA_2頒發證書,該證書頒發服務器S的證書。 您的客戶在其受信任的錨(但不一定是CA_2)中擁有證書CA_1:您需要提供一個鏈「 S,CA_2「,以便他們可以通過CA_2驗證鏈(否則,他們不知道如何將CA_1鏈接到S)。
爲此,您需要確保S及其私鑰的條目包含它需要發送的鏈(S,CA_2),而不僅僅是證書S.將密鑰庫中的單獨條目中的CA_2導入將不會當提交證書S時,讓JSSE爲您建立鏈。
在this answer(儘管這是從客戶端證書的角度來看)中描述瞭如何實現。
- 1. 從私鑰和CA證書包創建java密鑰庫
- 2. 在Java中訪問密鑰庫證書
- 3. 如何傳遞密鑰,證書,ca和
- 4. 使用帶有CA證書和無密鑰庫的SSLContext
- 5. 如何創建自己的自簽名根證書和要在Java密鑰庫中導入的中間CA?
- 6. 從Windows密鑰庫對中間CA進行Java訪問?
- 7. 進出證書Java密鑰庫
- 8. 無法用密鑰,證書和CA爲Tomcat創建密鑰庫證書鏈長度:1
- 9. 訪問證書密鑰庫
- 10. 在pkcs11密鑰庫中存儲證書
- 11. 從密鑰庫中加載證書
- 12. 將密鑰和SSL證書導入到java密鑰庫
- 13. 創建從證書,中級證書和私有密鑰庫密鑰
- 14. 如何將證書鏈及其證書導入java密鑰庫?
- 15. 向Java密鑰庫,JVM導入證書會忽略新證書
- 16. 將過期的SSL證書導入到Java密鑰庫中
- 17. 檢查java密鑰庫中的證書到期日期
- 18. Java驗證證書與密鑰關聯
- 19. 動態創建具有常見CA的SSL證書/密鑰
- 20. Jmeter中的根CA證書
- 21. 在Java密鑰庫中存儲X.509證書
- 22. 帶密鑰庫證書的ARM模板
- 23. 是否可以使用SSL證書作爲中間CA證書?
- 24. 如何在WebSphere中的可信證書密鑰庫中安裝證書?
- 25. SSL證書中級CA
- 26. 如何將JKS證書/密鑰轉換爲BouncyCastle證書/密鑰
- 27. 瞭解密鑰庫,證書和別名
- 28. GoDaddy SSL證書密鑰庫安裝Tomcat7
- 29. 動態SSL密鑰庫/證書選擇
- 30. Keytool - 將證書導入密鑰庫
實際上有些問題需要注意,別名命名是最少的問題。不確定這與「與CA聯繫」有什麼關係。證書吊銷使用到CA的在線連接,建立一個可信賴的證書鏈沒有。 – Bruno
@布魯諾關於「聯繫CA」,你說得對...不知道腦屁是從哪裏來的。固定。您在查看信任鏈設置時需要考慮其他問題是正確的,但在處理Jay提出的唯一問題時,則可以忽略這些問題。然而,我會添加一個聲明來指出他們正在被忽略。 –