使用keytool管理數字證書

keytool是Java的數字證書管理工具,用於數字證書的生成,導入,導出與撤銷等操做。它與本地密鑰庫關聯,並能夠對本地密鑰庫進行管理,能夠將私鑰存放於密鑰庫中,而公鑰使用數字證書進行輸出。keytool在jdk安裝目錄的bin文件夾下:算法

構建自簽名證書

在構建CSR以前,須要先在密鑰庫中生成本地數字證書,此時須要提供用戶的身份、加密算法、有效期等一些數字證書的基本信息:
shell

keytool -genkeypair -keyalg RSA -keysize 1024 -sigalg MD5withRSA \
-validity 365 -alias www.mydomain.com -keystore ~/my.keystore

參數介紹:dom

-genkeypair——產生密鑰對工具

-keyalg——指定加密算法加密

-keysize——指定密鑰長度spa

-sigalg——指定簽名算法code

-validity——證書有效期ci

-alias——證書別名it

-keystore——指定密鑰庫的位置class

執行結果:

證書導出

執行了上面的命令後,咱們已經生成了一個本地數字證書,雖然尚未通過證書認證機構進行認證,但並不影響使用,咱們能夠使用相應的命令對證書進行導出。

keytool -exportcert -alias  \ 
-keystore ~/my.keystore -file /tmp/my.cer -rfc

參數介紹:

-exportcert——執行證書導出

-alias——密鑰庫中的證書別名

-keystore——指定密鑰庫文件

-file——導出的文件輸出路徑

-rfc——使用Base64格式輸出

執行結果:

證書導出後,能夠使用打印證書命令查看證書內容:

keytool -printcert -file /tmp/my.cer

參數介紹:

-printcert——執行證書打印命令

-file——指定證書文件路徑

執行結果:

導出CSR文件

若是想獲得證書認證機構的認證,須要導出數字證書並簽發申請(Cerificate Signing Request),經證書認證機構認證並頒發後,再將認證後的證書導入本地密鑰庫與信任庫。

導出CSR文件命令:

keytool -certreq -alias  \ 
 -keystore ~/my.keystore -file /tmp/my.csr -v

參數介紹:

-certreq——執行證書籤發申請導出操做

-alias——證書的別名

-keystore——使用的密鑰庫文件

-file——輸出的csr文件路徑

-v——顯示詳細狀況

執行結果:

導出CSR文件後,即可以到VeriSign、GeoTrust等權威機構進行證書認證了。

證書導入

得到證書認證機構辦法的數字證書後,須要將其導入信任庫。

導入數字證書的命令:

keytool -importcert -trustcacerts -alias www.mydomain.com \
-file /tmp/my.cer -keystore ~/my.keystore

參數介紹:

-importcert——執行導入證書操做

-trustcacerts——將證書導入信任庫

-alias——證書別名

-file——要導入的證書文件的路徑

-keystore——指定密鑰庫文件

導入證書成功後,能夠經過list命令來查看密鑰庫中的證書:

keytool -list -alias www.mydomain.com -keystore ~/my.keystore

執行結果以下:

相關文章
相關標籤/搜索