日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

keytool命令总结

發(fā)布時間:2024/4/17 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 keytool命令总结 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

keytool 命令總結

一、創(chuàng)建數(shù)字證書

交互模式

使用默認的密鑰庫.keystore(目錄是c:?Documents?and?Setting用戶名)和算法(DSA)

keytool?-genkey

默認的別名mykey

密鑰庫中可以存放多個條目(公鑰/私鑰對和證書),它們在密鑰庫中以別名(alias)區(qū)分。

keytool?-genkey?-alias?mytest?-keyalg?RSA?-keysize?1024?-keystore?mykeystore?-validity?4000

其中,

-keyalg參數(shù)可以指定密鑰的算法,如果需要指定密鑰的長度,可以再加上-keysize參數(shù)。密鑰長度默認為1024位,使用DSA算法時,密鑰長度必須在5121024之間,并且是64的整數(shù)倍。

-keystore參數(shù)可以指定密鑰庫的名稱。密鑰庫其實是存放密鑰和證書的文件,密鑰庫對應的文件如果不存在自動創(chuàng)建。

-validity參數(shù)可以指定所創(chuàng)建的證書有效期是多少天。

非交互模式:

keytool?-genkey?-dname?"CN=tmp,?OU=NC,?O=Shanghai?University,?L=ZB,?ST=Shanghai,?C=CN"?-alias?tmp?-keyalg?RSA?-keystore?mykeystore?-keypass?wshr.ut?-storepass?wshr.ut??-validity?1000

?

二、數(shù)字證書的顯示(從密鑰庫中)

默認密鑰庫全部證書信息

keytool?-list?-v(顯示詳細信息)

顯示指定密鑰庫指定條目證書信息(包含了發(fā)照者(簽發(fā)者)、序號、有效期、MD5SHA1認證指紋等額外信息)

keytool?-list?-v?-keystore?lfkeystore?-alias?lf

?

三、使用Keytool將數(shù)字證書導出到文件

將指定的證書從密鑰庫導出為沒編碼過的文件。

keytool?-export?-alias?lf?-file?lf.cer??-keystore?lfkeystore?

?

四、使用Keytool從文件中顯示證書

keytool?-printcert?-file??lf.cer

?

五、在Windows中從文件顯示證書

只要文件名以.cer為后綴,Windows操作系統(tǒng)就可以直接識別。如在Windows中雙擊lf.cer圖標,將出現(xiàn)證書窗口。其中包含了證書的所有者、頒發(fā)者、有效期等信息。

點擊詳細資料,可以看到證書的版本、序號、簽名算法、頒發(fā)者、有效期、主題(即全名)、公鑰算法、拇印算法、拇印等信息。其中的拇印即認證指紋。

?

六、密鑰庫的維護

使用Keytool刪除指定條目

keytool?-delete?-alias?tmp1?-keystore?mykeystore

使用Keytool修改指定條目的口令

keytool?-keypasswd?-alias?tmp1?-keystore?mykeystore

(非交互模式:keytool?-keypasswd?-alias?tmp1?-keystore?mykeystore?-storepass?wshr.ut?-keypass?123456?-new?080302,其中080302為原密碼,123456為新密碼?)

Java程序列出密鑰庫所有條目

?

相關知識點:Java程序讀取證書和顯示證書指定信息????Java程序實現(xiàn)密鑰庫的維護

?

證書生成應用實例:

執(zhí)行命令前先保證文件夾存在。例如:在c盤建立keystore文件夾
第一步:為服務器生成證書?

確定域名:本機中域名解析修改文件是C:WINDOWSsystem32driversetchosts
使用keytool?為?Tomcat?生成證書和密鑰庫,假定目標機器的域名是“?hepengfei?”,?keystore?文件存放在“?C:keystoreserver?”,口令為“?080302?”,命令如下:?
keytool?-genkey?-v?-keystore?C:keystoreserver?-alias?serverkey?-keyalg?RSA?-validity?3650?-dname?"CN=hepengfei,OU=cn,O=cn,L=cn,ST=cn,c=cn"?-storepass?080302?-keypass?080302?

生成server.cer安裝在客戶端解決服務器信任問題:

keytool?-export?-keystore?C:keystoreserver?-alias?serverkey?-file?c:keystoreserver.cer?-storepass?080302?


第二步:為客戶端生成證書?

(注意:個人證書的生成和使用比較特別,是分開的。先生成p12文件,然后導出cer文件,再將cer文件導入默認類型的keystore(JKS)文件)
這一步是為瀏覽器生成證書,以便讓服務器來驗證它。為了能將證書順利導入至IE?和?Firefox?,證書格式應該是?PKCS12?,因此,使用如下命令生成:?

keytool?-genkey?-v?-keystore?C:keystoreuser.p12?-alias?MyPC?-keyalg?RSA?-storetype?PKCS12?-validity?3650?-dname?"CN=MyPC,OU=cn,O=cn,L=cn,ST=cn,c=cn"?-storepass?080302?-keypass?080302?

服務器要信任客戶端證書,就必須把客戶端證書添加為服務器的信任認證。由于不能直接將?PKCS12?格式的證書庫導入,我們必須先把客戶端證書導出為一個單獨的?CER?文件,使用如下命令:?
keytool?-export?-alias?MyPC?-keystore?C:keystoreuser.p12?-storetype?PKCS12?-storepass?080302?-rfc?-file?C:keystoreuser.cer?

接著,將C:user.cer導入到服務器的證書庫,添加為一個信任證書:?
keytool?-import?-v?-file?C:keystoreuser.cer?-keystore?c:keystoreservertrust?-alias?user?-storepass?080302

輸入“是”確認完成。

通過list?命令查看:?
keytool?-list?-keystore?c:\keystore\servertrust?-storepass?080302?

也可以考慮將服務器證書和服務器信任證書放到一個密鑰庫中

第四步:配置Tomcat?服務器?

打開Tomcat?根目錄下的?/conf/server.xml?,修改如下:?

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
?????????????? maxThreads="150" scheme="https" secure="true"

?????????????? clientAuth="true"?sslProtocol="TLS"

???????????????keystoreFile="C:\Java\Tomcat\conf\keystore\server"?keystorePass="080302"

?????????????? truststoreFile="C:\Java\Tomcat\conf\keystore\servertrust"?truststorePass="080302"?

/>

詳細解釋見本節(jié)最前面介紹。

?

安裝個人證書user.p12(密碼:080302)和服務器證書server.cer
到這里啟動tomcat,輸入?https://hepengfei:8443/Test,就OK了。?

?

如果數(shù)字證書注冊名稱不是127.0.0.1,而是對應的一個hepengfei,

使用ip訪問(https://127.0.0.1:8443/Test)可以進入選擇數(shù)字證書界面(仿真格式):?

選擇數(shù)字證書

????名稱?????頒發(fā)商

????MyPC?????MyPC

????詳細信息??查看證書

????????確定???取消


注意點:

keytool?-list?-v?-keystore?user

使用的庫要privateKeyEntry

信任的庫要trustedCertEntry

ConvertKeystoreType.java用于轉換密鑰庫類型(PKCS12與JKS格式證書庫轉換工具)

ssl使用其中四個密鑰庫

https使用server、servertrust、user.p12(安裝到本地計算機)、server.cer四個

?

生成證書請求:

keytool?-certreq?-alias?tomcat_server?-sigalg?MD5withRSA?-file?tomcat_server.csr?-keypass?123456?-storepass?123456?-keystore?server_keystore?

?

PKCS12

使用Keytool列出pkcs12證書的內容
keytool?-rfc?-list?-keystore?tomcat_client.p12?-storetype?pkcs12

使用Keytool導出pkcs12證書的公鑰證書

keytool??-keystore?tomcat_client.p12?-storetype?pkcs12?-export?-alias?mypc?-file?mypc.cer

?

將已經簽名的證書導入密鑰庫(覆蓋原來的公鑰)

先導入證書鏈中的相關信任證書,再導入已經簽名的證書(別名與私鑰證書別名保持一樣)。

?

轉載于:https://www.cnblogs.com/suncoolcat/p/3398049.html

總結

以上是生活随笔為你收集整理的keytool命令总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。