[英]Why does Java runtime differ so much in how SSL trust store works and how do we deal with it?
我們碰巧運行了一個暴露 http:// 和 https:// 端點的 REST API Web 服務。 https:// 端點背后有一個 SSL 證書,需要不時更新一次。 每隔一次我們更新 SSL 證書時,一些運行 Java 程序的用戶就會與我們的服務進行交互,抱怨說他的程序不再有效,他必須更改 Java 證書信任庫中的某些內容。 我們有使用任何程序開發的用戶——PHP、C#、Ruby 等等——當我們更改證書時,他們都不會抱怨,但一些 Java 用戶每隔一段時間就會遇到問題。
Java 運行時在這方面有何特別之處? 我們應該做些什么來改善用戶體驗?
我們有使用任何程序開發的用戶——PHP、C#、Ruby 等等——當我們更改證書時,他們都不會抱怨,但一些 Java 用戶每隔一段時間就會遇到問題。
相反,Java 帶有自己的 CA 存儲,其中包含的 CA 比通常隨系統一起提供的要少得多。 這也取決於 Java 版本。 因此,客戶端使用的 Java 版本可能不知道您使用的根 CA。 此外,較舊的 Java 版本不執行 SNI。 他們有弱 DH 密鑰的問題,不支持更大的 RSA 密鑰等。由於有很多舊的和不受支持的 Java 安裝,請選擇影響當今應用程序的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.