使用keytool 區分信任儲存和金鑰儲存
使用keytool 時,信任儲存與金鑰儲存之間的差異可能不清楚。本文旨在根據其用法和底層機制闡明這種差異。
定義和用法:
信任儲存是來自受信任實體的公鑰的儲存庫,用於在SSL/TLS 連線期間驗證遠端伺服器或客戶端的身份。相較之下,金鑰儲存保存私鑰及其對應的公鑰,用於客戶端身份驗證或伺服器端加密。
使用 keytool 建立:
keytool指令可用來建立金鑰儲存和信任儲存。然而,差異主要是透過商店的預期用途來區分的。例如,使用下列指令匯入憑證:
keytool -import -alias bob -file bob.crt -keystore keystore.ks
建立一個包含「bob」公鑰的金鑰儲存檔案 (keystore.ks)。這通常用於伺服器身份驗證,因為客戶端需要公鑰來驗證伺服器的身份。
系統屬性配置:
Java 應用程式可以指定金鑰儲存和信任透過系統屬性使用的儲存:
-Djavax.net.ssl.keyStore=keystore.ks -Djavax.net.ssl.keyStorePassword=x -Djavax.net.ssl.trustStore=keystore.ks -Djavax.net.ssl.trustStorePassword=x
金鑰管理員與信任Manager:
建立SSL/TLS 連線時,Java使用 KeyManager 來決定將哪些憑證傳送到遠端主機,並使用 TrustManager 來評估遠端憑證的可信度。這些管理器使用指定的密鑰儲存和信任儲存來存取必要的密鑰和憑證。
SSL/TLS 中的金鑰儲存與信任儲存:
SSL/ TLS 連線:
這種差異對於建立安全且可驗證的連線至關重要。
以上是Java 的 keytool 中的金鑰儲存和信任儲存有什麼不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!