轉/keystore和truststore的區別


keytool是java自帶的工具用於產生密鑰

keystore可以看成一個放key的庫,key就是公鑰,私鑰,數字簽名等組成的一個信息。

truststore是放信任的證書的一個store.

 

那他們之間有啥關系和聯系呢?在一個安全鏈接的模型中又各自起到什么作用呢?

其實我也沒搞太清楚-_-b

我先把目前的理解記下來,以后再慢慢修正

 

這篇主要針對的是web應用,web應用一般是通過https,ssl來做客戶端和server端的鏈接 

就以單向驗證為例,服務器端的app server是tomcat

目前比較常用(我感覺是簡單)的安全方案是單向驗證,也就是說,客戶端IE會驗證服務器端的身份。這需要在服務器端做一些配置。

1. 在命令行中通過使用keytool在keystore中生成一個key.

   這里就有兩個概念了,keystore和key

   key,存放了數字證書(包括公鑰和發布者的數字簽名),以及私鑰

   keystore,可以認為是放key的一個倉庫,以文件的形式存在系統中,默認是放在C:\Documents and Settings\user...\下,也可以在命令行中指定路徑和文件名

 

2.將key以數字證書的形式從keystore中導出,數字證書(包括公鑰和發布者的數字簽名)

 

3.將數字證書導入到truststore,一般是tomcat所用的JAVA_HOME下的jre\lib\security\cacerts文件

  其實,truststore和keystore的性質是一樣的,都是存放key的一個倉庫,區別在於,truststore里存放的是只包含公鑰的數字證書,代表了可以信任的證書,而keystore是包含私鑰的。但是具體應用還有待深入研究,這里我還不是非常清楚

 

4.配置tomcat下的server.xml里相應的ssl端口,這樣客戶端就可以通過https來訪問server了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM