Java中keytool的使用
Keytool簡(jiǎn)單介紹
keytool 是個(gè)密鑰和證書管理工具。它使用戶能夠管理自己的公鑰/私鑰對(duì)及相關(guān)證書,用于(通過(guò)數(shù)字簽名)自我認(rèn)證(用戶向別的用戶/服務(wù)認(rèn)證自己)或數(shù)據(jù)完整性以及認(rèn)證服務(wù)。在JDK 1.4以后的版本中都包含了這一工具,它的位置為“%JAVA_HOME%\bin\keytool.exe”。
keytool的使用
keytool為java原生自帶,安裝java后不需要再進(jìn)行安裝,作為密鑰和證書管理工具,方便用戶能夠管理自己的公鑰/私鑰及證書,用于認(rèn)證服務(wù)。
1. 相關(guān)概念
keystore
keytool將密鑰(key)和證書(certificates)存儲(chǔ)在keystore文件中,
密鑰需要存儲(chǔ)在密鑰庫(kù)中
2. 相關(guān)命令
-alias 產(chǎn)生別名
-keystore 指定密鑰庫(kù)的名稱(就像數(shù)據(jù)庫(kù)一樣的證書庫(kù),可以有很多個(gè)證書,cacerts這個(gè)文件是jre自帶的,你也可以使用其它文件名字,如果沒(méi)有這個(gè)文件名字,它會(huì)創(chuàng)建這樣一個(gè))
-storepass 指定密鑰庫(kù)的密碼
-keypass 指定別名條目的密碼
-list 顯示密鑰庫(kù)中的證書信息
-v 顯示密鑰庫(kù)中的證書詳細(xì)信息
-export 將別名指定的證書導(dǎo)出到文件
-file 參數(shù)指定導(dǎo)出到文件的文件名
-delete 刪除密鑰庫(kù)中某條目
-import 將已簽名數(shù)字證書導(dǎo)入密鑰庫(kù)
-keypasswd 修改密鑰庫(kù)中指定條目口令
-dname 指定證書擁有者信息
-keyalg 指定密鑰的算法
-validity 指定創(chuàng)建的證書有效期多少天
-keysize 指定密鑰長(zhǎng)度
2. 生成秘鑰庫(kù)
生成密鑰庫(kù)的同時(shí)生成一個(gè)密鑰對(duì),并且密鑰庫(kù)和密鑰對(duì)都是需要密碼的
keytool -genkey -keystore "/Users/..../tmp/keytool/test.keystore" -alias mytest -keyalg RSA -validity 365
填寫相關(guān)信息,生成密鑰庫(kù)和密鑰對(duì)
參數(shù)說(shuō)明:
-genkey: 表示生成密鑰對(duì)(公鑰和私鑰)
-keystore:每個(gè) keytool 命令都有一個(gè) -keystore 選項(xiàng),用于指定 keytool 管理的密鑰倉(cāng)庫(kù)的永久密鑰倉(cāng)庫(kù)文件名稱及其位置。如果不指定 -keystore 選項(xiàng),則缺省密鑰倉(cāng)庫(kù)將是宿主目錄中(由系統(tǒng)屬性的"user.home"決定)名為 .keystore 的文件。如果該文件并不存在,則它將被創(chuàng)建。
-alias:指定密鑰條目的別名,該別名是公開的。
-keyalg:指定密鑰的算法,如:RSA、DSA(如果不指定默認(rèn)采用DSA))
-validity:指定創(chuàng)建的證書有效期多少天
3. 查看證書
keytool -list -v -keystore test.keystore -storepass 123456
-list 列出證書
-v 顯示詳細(xì)信息
-keystore 指定密鑰庫(kù)
-storepass 指定密鑰庫(kù)的解密密碼
-rfc 以可編碼方式打印證書
keytool -list -rfc -keystore ./test.keystore -storepass 789789
4. 導(dǎo)入證書
keytool -import -alias test1 -file ./test.crt -keystore ./test.keystore -storepass 789789
5. 導(dǎo)出證書
keytool -export -alias mytest -keystore ./test.keystore -file ./test.crt -storepass 789789
6.修改密碼
修改密鑰庫(kù)中指定條目的密碼
keytool -keypasswd -alias 需修改的別名 -keypass 舊密碼 -new 新密碼 -storepass keystore密碼 -keystore 所在的密鑰庫(kù)
修改密鑰庫(kù)的密碼
keytool -storepasswd -keystore ./yushan.keystore(需修改口令的keystore) -storepass 123456(原始密碼) -new yushan(新密碼)
到此這篇關(guān)于Java中keytool的使用的文章就介紹到這了,更多相關(guān)Java keytool的使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用springBoot項(xiàng)目配置文件位置調(diào)整到打包外
這篇文章主要介紹了使用springBoot項(xiàng)目配置文件位置調(diào)整到打包外,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-08-08SpringBoot自定義加載yml實(shí)現(xiàn)方式,附源碼解讀
這篇文章主要介紹了SpringBoot自定義加載yml實(shí)現(xiàn)方式附源碼解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03關(guān)于StringUtils.isBlank()的使用及說(shuō)明
這篇文章主要介紹了關(guān)于StringUtils.isBlank()的使用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05java 中RSA的方式實(shí)現(xiàn)非對(duì)稱加密的實(shí)例
這篇文章主要介紹了java 中RSA的方式實(shí)現(xiàn)非對(duì)稱加密的實(shí)例的相關(guān)資料,這里提供實(shí)例幫助大家理解這部分知識(shí),需要的朋友可以參考下2017-08-08JavaWeb 入門篇:創(chuàng)建Web項(xiàng)目,Idea配置tomcat
這篇文章主要介紹了IDEA創(chuàng)建web項(xiàng)目配置Tomcat的詳細(xì)教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-07-07詳解Spring緩存注解@Cacheable,@CachePut , @CacheEvict使用
這篇文章主要介紹了詳解Spring緩存注解@Cacheable,@CachePut , @CacheEvict使用,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-05-05