Java中keytool的使用
Keytool簡單介紹
keytool 是個(gè)密鑰和證書管理工具。它使用戶能夠管理自己的公鑰/私鑰對及相關(guān)證書,用于(通過數(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ǔ)在密鑰庫中
2. 相關(guān)命令
-alias 產(chǎn)生別名
-keystore 指定密鑰庫的名稱(就像數(shù)據(jù)庫一樣的證書庫,可以有很多個(gè)證書,cacerts這個(gè)文件是jre自帶的,你也可以使用其它文件名字,如果沒有這個(gè)文件名字,它會(huì)創(chuàng)建這樣一個(gè))
-storepass 指定密鑰庫的密碼
-keypass 指定別名條目的密碼
-list 顯示密鑰庫中的證書信息
-v 顯示密鑰庫中的證書詳細(xì)信息
-export 將別名指定的證書導(dǎo)出到文件
-file 參數(shù)指定導(dǎo)出到文件的文件名
-delete 刪除密鑰庫中某條目
-import 將已簽名數(shù)字證書導(dǎo)入密鑰庫
-keypasswd 修改密鑰庫中指定條目口令
-dname 指定證書擁有者信息
-keyalg 指定密鑰的算法
-validity 指定創(chuàng)建的證書有效期多少天
-keysize 指定密鑰長度
2. 生成秘鑰庫
生成密鑰庫的同時(shí)生成一個(gè)密鑰對,并且密鑰庫和密鑰對都是需要密碼的
keytool -genkey -keystore "/Users/..../tmp/keytool/test.keystore" -alias mytest -keyalg RSA -validity 365
填寫相關(guān)信息,生成密鑰庫和密鑰對

參數(shù)說明:
-genkey: 表示生成密鑰對(公鑰和私鑰)
-keystore:每個(gè) keytool 命令都有一個(gè) -keystore 選項(xiàng),用于指定 keytool 管理的密鑰倉庫的永久密鑰倉庫文件名稱及其位置。如果不指定 -keystore 選項(xiàng),則缺省密鑰倉庫將是宿主目錄中(由系統(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 指定密鑰庫
-storepass 指定密鑰庫的解密密碼
-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.修改密碼
修改密鑰庫中指定條目的密碼
keytool -keypasswd -alias 需修改的別名 -keypass 舊密碼 -new 新密碼 -storepass keystore密碼 -keystore 所在的密鑰庫
修改密鑰庫的密碼
keytool -storepasswd -keystore ./yushan.keystore(需修改口令的keystore) -storepass 123456(原始密碼) -new yushan(新密碼)
到此這篇關(guān)于Java中keytool的使用的文章就介紹到這了,更多相關(guān)Java keytool的使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
淺談HttpClient、okhttp和RestTemplate的區(qū)別
這篇文章主要介紹了HttpClient、okhttp和RestTemplate的區(qū)別,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06
MyBatis中的ResultMap的association和collection標(biāo)簽詳解
這篇文章主要介紹了MyBatis中的ResultMap的association和collection標(biāo)簽詳解,主要包括association標(biāo)簽常用參數(shù)及id & result標(biāo)簽參數(shù)詳解,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-10-10
Java中MyBatis Plus知識(shí)點(diǎn)總結(jié)
在本篇文章里小編給大家整理一篇關(guān)于Java中MyBatis Plus知識(shí)點(diǎn)總結(jié),需要的朋友們參考下。2019-10-10
SpringMvc實(shí)現(xiàn)簡易計(jì)算器功能
這篇文章主要為大家詳細(xì)介紹了SpringMvc實(shí)現(xiàn)簡易計(jì)算器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07
在Spring Boot中如何使用數(shù)據(jù)緩存
本篇文章主要介紹了在Spring Boot中如何使用數(shù)據(jù)緩存,具有一定的參考價(jià)值,有興趣的可以了解一下。2017-04-04
Java調(diào)用elasticsearch本地代碼的操作方法
這篇文章主要介紹了Java調(diào)用elasticsearch本地代碼的操作方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04
Java實(shí)戰(zhàn)之多線程模擬站點(diǎn)售票
今天帶大家來練習(xí)Java實(shí)戰(zhàn),文中多線程模擬站點(diǎn)售票這個(gè)問題作了詳細(xì)的介紹,對正在學(xué)習(xí)java的小伙伴們有很好地幫助,需要的朋友可以參考下2021-05-05

