Java製做證書的工具keytool用法總結

1、keytool的概念

keytool 是個密鑰和證書管理工具。它使用戶可以管理本身的公鑰/私鑰對及相關證書,用於(經過數字簽名)自我認證(用戶向別的用戶/服務認證本身)或數據完整性以及認證服務。在JDK 1.4之後的版本中都包含了這一工具,它的位置爲%JAVA_HOME%\bin\keytool.exe,以下圖所示:java

2、keytool的用法

3、建立證書

建立證書主要是使用" -genkeypair",該命令的可用參數以下:算法

Cmd代碼工具

keytool -genkeypair -alias "test1" -keyalg "RSA" -keystore "test.keystore"

功能:加密

建立一個別名爲test1的證書,該證書存放在名爲test.keystore的密鑰庫中,若test.keystore密鑰庫不存在則建立。spa

參數說明:操作系統

-genkeypair:生成一對非對稱密鑰;3d

-alias:指定密鑰對的別名,該別名是公開的;
-keyalg:指定加密算法,本例中的採用通用的RAS加密算法;blog

-keystore:密鑰庫的路徑及名稱,不指定的話,默認在操做系統的用戶目錄下生成一個".keystore"的文件圖片

注意:域名

      1.密鑰庫的密碼至少必須6個字符,能夠是純數字或者字母或者數字和字母的組合等等

  2."名字與姓氏"應該是輸入域名,而不是咱們的我的姓名,其餘的能夠不填

在上述圖片遇到keytool 錯誤: java.io.FileNotFoundException: test.keystore (拒絕訪問。)這是由於權限問題:你的jdk目錄在c盤,當前用戶無寫入權限。

因此要麼更改jdk的保存目錄,要麼更改權限。

我將jdk目錄保存到了D盤

行完上述命令後,在操做系統的用戶目錄下生成了一個"test.keystore"的文件,以下圖所示:

4、查看密鑰庫裏面的證書

範例:查看test.keystore這個密鑰庫裏面的全部證書

Cmd代碼

keytool -list -keystore test.keystore

5、導出到證書文件

範例:將名爲test.keystore的證書庫中別名爲test1的證書條目導出到證書文件test.crt中

Cmd代碼

keytool -export -alias test1 -file test.crt -keystore test.keystore

運行結果:在操做系統的用戶目錄下生成了一個"test.crt"的文件,以下圖所示:

6、導入證書

範例:將證書文件test.crt導入到名爲test_cacerts的證書庫中

Cmd代碼:

keytool -import -keystore test_cacerts -file test.crt

7、查看證書信息

範例:查看證書文件test.crt的信息

Cmd代碼:

keytool -printcert -file "test.crt"

8、刪除密鑰庫中的條目

範例:刪除密鑰庫test.keystore中別名爲test1的證書條目

Cmd代碼:

keytool -delete -keystore test.keystore -alias test1

9、修改證書條目的口令

範例:將密鑰庫test.keystore中別名爲test2的證書條目的密碼修改成xdp123456

Cmd代碼:

keytool -keypasswd -alias test2 -keystore test.keystore

相關文章
相關標籤/搜索