我知道密鑰庫通常會保存私鑰/公鑰和只有信任存儲公鑰(並且代表您希望與之通信的可信方的列表)。那麼,這是我的第一個假設,所以如果這是不正確的,我可能還沒有開始很好......Trust Store vs Key Store - 使用keytool創建
我很感興趣,但在理解使用keytool時如何區分商店。
所以,到目前爲止,我已經創建了使用
keytool -import -alias bob -file bob.crt -keystore keystore.ks
它創建我的keystore.ks文件密鑰庫。我回答yes
這個問題我相信鮑勃,但我不清楚這是否創建了一個密鑰庫文件或一個信任庫文件?我可以將我的應用程序設置爲使用該文件。
-Djavax.net.ssl.keyStore=keystore.ks -Djavax.net.ssl.keyStorePassword=x
-Djavax.net.ssl.trustStore=keystore.ks -Djavax.net.ssl.trustStorePassword=x
與System.setProperty("javax.net.debug", "ssl")
集,我可以看到在信任的認證證書(而不是根據密鑰庫部分)。我正在導入的特定證書只有一個公鑰,我打算使用它通過SSL連接將內容發送給Bob(但也許最好留給其他問題!)。
任何指針或澄清將不勝感激。 keytool的輸出是否與您導入的輸出相同,並且它的公約規定一個是密鑰庫,另一個是信任庫?使用SSL等什麼關係?
我不確定你的意思是「我正在導入的特定證書只有一個公鑰」:它只是公鑰(即不是證書)還是非CA證書? – Bruno 2011-06-14 09:27:53
嗯,不確定。我從瀏覽器中導出爲PEM文件。這有幫助嗎? – Toby 2011-06-14 09:31:38
如果從瀏覽器導出它,它可能是一個證書。它是一個服務器證書(CN或subjectAltName與服務器的名稱匹配)?它是一個CA證書嗎?(在Basic Constraints下查看,您應該能夠使用瀏覽器查看此證書)。 – Bruno 2011-06-14 09:36:59