
這是一個有點規範的問題......我希望沒關係。
在我的工作中,我經常對在 Linux 伺服器上執行的用戶端(通常是 java 應用程式)不信任有效的簽署憑證(瀏覽器信任的憑證)的情況進行故障排除。我們通常的快速修復是將憑證新增到 java cacerts 信任儲存中,但它讓我困惑為什麼需要這樣做。
根據我的理解,有兩種可能性:
- 伺服器端沒有以正確的順序發送完整的鏈(終端實體憑證+中間憑證),而且客戶端不信任中間憑證(可能是因為它太舊了。)
- 客戶端信任儲存不包含用作信任錨的根憑證(可能是因為它太舊了。)
準確嗎?如果是這樣,強制信任最終實體憑證的替代可能性似乎是:
- 配置伺服器應用程式以發送完整鏈。
- 將客戶端(例如java)升級到較新的版本。就我而言,通常可以使用的 java 主要版本受到軟體先決條件的限制,但也許每個次要版本都包含更新的信任儲存?
任何澄清的想法都值得讚賞。