簡體   English   中英

使用Java標准密鑰庫是不好的做法

[英]Is it a bad practice to use Java standard keystore

我們一直使用java標准密鑰庫( $JAVA_HOME/jre/lib/security/cacerts )作為tomcat的可信存儲。 並且該tomcat服務器將與其他服務器通信。 最近的OS(AIX)升級顯然在$JAVA_HOME/jre/lib/security/cacerts覆蓋了該文件,導致在tomcat中托管的應用程序丟失了證書和許多問題。

看看這是一個不好的做法,繼續使用$ JAVA_HOME / jre / lib / security / cacerts? 解決這種情況的替代(更好的|標准)方法是什么?

如果你有一個重復導入的構建過程,這並不是一個壞習慣。

不確定,但假設您的假設是正確的,請謹慎放置密鑰庫。 我強烈建議將它放在Apache文件夾中。

默認情況下,在Websphere中,密鑰庫以這種方式工作,因為它帶來了它自己的JVM :)

cacerts文件中的內容而言,它不一定比依賴操作系統或瀏覽器中安裝的默認CA證書更糟糕,但這並不意味着它很棒。

Sun / Oracle在JSSE參考指南中間的某處有一個“重要說明”:

重要說明:JDK在/ lib / security / cacerts文件中附帶有限數量的受信任根證書。 如keytool中所述,如果您將此文件用作信任庫,則您有責任維護(即添加/刪除)此文件中包含的證書。

根據您聯系的服務器的證書配置,您可能需要添加其他根證書。 從相應的供應商處獲取所需的特定根證書。

在配置方面,對於我必須安裝“本地”CA證書的特定應用程序,我發現使用本地信任庫(例如,使用javax.net.ssl.trustStore指定)更穩定。

AIX升級是一個補丁。 任何補丁都不得刪除/覆蓋用戶數據。 我建議受這種數據丟失影響的用戶要求IBM修復補丁程序。 相比之下,即使httpd服務器位於程序目錄中,它也不會覆蓋/刪除配置。

是的,這樣做是不好的做法。

最佳做法是必須根據需要限制您的可信證書。
因此,您應該使用自己的密鑰庫,只使用應用程序信任的證書。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM