使用JDK自帶的keytool工具生成證書


一、keytool 簡介

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

其功能包括:

  • 創建並管理密鑰
  • 創建並管理證書
  • 作為CA 為證書授權
  • 導入導出證書

keytool官方文檔

二、keytool的用法

三、生成證書

生成證書主要是使用" -genkey",該命令的可用參數如下:

示例:生成一個名稱為tomcat的證書(cas服務https環境證書生成示例)

keytool -genkey -alias tomcat -keyalg RSA -keystore D:/cas.keystore  

功能說明:

生成一個別名為tomcat的證書,該證書存放在名為cas.keystore的密鑰庫中,若cas.keystore密鑰庫不存在則創建。

參數說明:

-genkey:生成一對非對稱密鑰;

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

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

注意:

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

  2."名字與姓氏"應該是輸入域名,而不是我們的個人姓名,其他的可以不填

執行完上述命令后,在D盤下生成了一個"cas.keystore"的文件,如下圖所示:

 

四、導出證書

 導出證書主要是使用" -export",該命令的可用參數如下:

示例:將名為cas.keystore的證書庫中別名為tomcat的證書條目導出到證書文件cas.crt中

keytool -export -trustcacerts -alias tomcat -file D:/cas.crt -keystore D:/cas.keystore

執行完上述命令后,在D盤下生成了一個"cas.crt"的文件,如下圖所示:

 

五、導入證書

導入證書主要是使用" -import",該命令的可用參數如下:

示例1:將證書文件cas.crt導入到名為test_cacerts的證書庫中

keytool -import -file D:/cas.crt -keystore D:/test_cacerts

 

示例2:將證書文件test.crt導入到名為cacerts的證書庫中(這里將會演示將證書導入到jdk的證書庫中)

keytool -import -trustcacerts -alias tomcat -file D:/cas.crt -keystore %JAVA_HOME%/jre/lib/security/cacerts

注:次例中jdk證書庫的默認密碼為:changeit 

六、查看密鑰庫里面的證書

keytool -list -keystore D:/cas.keystore

七、查看證書信息

keytool -printcert -file D:/cas.crt

八、刪除密鑰庫中的條目

 示例:刪除密鑰庫cas.keystore中別名為tomcat的證書條目

keytool -delete -keystore D:/cas.keystore -alias tomcat

九、修改證書條目的口令

示例:將密鑰庫cas.keystore中別名為test的證書條目的密碼修改為666666(別名為test的證書條目必須存在)

keytool -keypasswd -alias test -keystore D:/cas.keystore

 


免責聲明!

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



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