簡體   English   中英

Java的證書和密鑰庫使用私鑰?

[英]java using private key with Certificates and Keystore?

我有一個使用KeyTool添加到密鑰庫中的證書。 還為我提供了用於生產/測試環境的私鑰。 我了解該證書正在使用公共密鑰。 我將密鑰庫和私鑰放在哪里,以便命令行程序可以讀取。 以下密鑰讀取密鑰庫。

System.setProperty("javax.net.ssl.keyStore", "xxx.ks");
System.setProperty("javax.net.ssl.keyStorePassword", "xxx_4ps!");
System.setProperty("javax.net.ssl.trustStore", "xxx.ks");
System.setProperty("javax.net.ssl.trustStorePassword", "xxx!");. 

我必須在哪里放置要由程序讀取的私鑰。 我是公共/專用密鑰加密的新手,因此將不勝感激。

親切的問候,Mateen

私鑰及其對應的證書位於javax.net.ssl.keyStore中。

您要信任的證書位於javax.net.ssl.trustStore中。 通常,您自己沒有一個,只需使用JDK隨附的默認值,在這種情況下,您根本不會指定此屬性。

這些屬性指向證書,而間接指向密鑰。 因此,首先您必須獲取證書並將其放入密鑰庫。

“ javax.net.ssl.keyStore”用於帶有證書的密鑰庫,該證書用於標識您的系統。 默認情況下,沒有任何其他代碼,每個密鑰庫只能使用一個身份證書。 要創建證書,您有兩種選擇-一種是創建自簽名證書,另一種是創建CSR並將其發送給證書頒發機構進行簽名。

請參閱http://download.oracle.com/javase/1.3/docs/tooldocs/win32/keytool.html#selfcertCmdhttp://download.oracle.com/javase/1.3/docs/tooldocs/win32/keytool.html #certreqCmd命令。

創建證書后,將有與其關聯的私鑰和公鑰。

“ javax.net.ssl.trustStore”指向帶有您信任的證書的密鑰庫。 這意味着您的系統將僅接受來自此密鑰庫的證書或由來自此密鑰庫的證書簽名的SSL連接。 可以使用以下命令將這些經過認證的證書添加到密鑰庫中: http : //download.oracle.com/javase/1.3/docs/tooldocs/win32/keytool.html#importCmd

您可以將密鑰庫放置在任意位置。 只要確保Java進程可以訪問它們即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM