-keystore 指定密鑰庫的名稱(就像數據庫一樣的證書庫,可以有很多個證書,cacerts這個文件是jre自帶的,
你也可以使用其它文件名字,如果沒有這個文件名字,它會創建這樣一個)
-storepass 指定密鑰庫的密碼
-keypass 指定別名條目的密碼
-list 顯示密鑰庫中的證書信息
-v 顯示密鑰庫中的證書詳細信息
-export 將別名指定的證書導出到文件
-file 參數指定導出到文件的文件名
-delete 刪除密鑰庫中某條目
-import 將已簽名數字證書導入密鑰庫
-keypasswd 修改密鑰庫中指定條目口令
-dname 指定證書擁有者信息
-keyalg 指定密鑰的算法
-validity 指定創建的證書有效期多少天
-keysize 指定密鑰長度

使用說明:

導入一個證書

命令可以如下:
keytool -import -keystore cacerts -storepass 666666 -keypass 888888 -alias alibabacert -file C:alibabajavacerttest_root.cer
其中-keystore cacerts中的cacerts是jre中默認的證書庫名字,也可以使用其它名字
-storepass 666666中的666666是這個證書庫的密碼
-keypass 888888中的888888是這個特定證書的密碼
-alias alibabacert中的alibabacert是你導入證書的別名,在其它操作命令中就可以使用它
-file C:alibabajavacerttest_root.cer中的文件路徑就是要導入證書的路徑

瀏覽證書庫里面的證書信息

,可以使用如下命令:
keytool -list -v -alias alibabacert -keystore cacerts -storepass 666666

要刪除證書庫里面的某個證書

,可以使用如下命令:
keytool -delete -alias alibabacert -keystore cacerts -storepass 666666

要導出證書庫里面的某個證書

,可以使用如下命令:
keytool -export -keystore cacerts -storepass 666666 -alias alibabacert -file F:alibabacert_root.cer

要修改某個證書的密碼

(注意:有些數字認證沒有私有密碼,只有公匙,這種情況此命令無效)
這個是交互式的,在輸入命令后,會要求你輸入密碼
keytool -keypasswd -alias alibabacert -keystore cacerts
這個不是交互式的,輸入命令后直接更改
Keytool -keypasswd -alias alibabacert -keypass 888888 -new 123456 -storepass 666666 -keystore cacerts

 

 

Owner: CN=BOCTestCA, O=BOCTest, C=CN

Issuer: CN=BOCTestCA, O=BOCTest, C=CN

Serial number: 31e60001

Valid from: Tue Oct 28 16:54:26 CST 2008 until: Sat Oct 28 16:54:26 CST 2028

Certificate fingerprints:

MD5:F0:35:F9:69:31:AE:87:01:6C:2D:56:BD:02:0A:16:4A

SHA1: 24:EF:84:14:4E:BD:0D:37:59:2D:70:28:79:10:88:EA:0A:06:13:20

Signature algorithm name: SHA1withRSA

Version: 3

 

Extensions:

 

#1: ObjectId: 2.5.29.19 Criticality=true

BasicConstraints:[

CA:true

PathLen:2147483647

]

 

#2: ObjectId: 2.5.29.15 Criticality=false

KeyUsage [

DigitalSignature

Non_repudiation

Key_Encipherment

Data_Encipherment

Key_Agreement

Key_CertSign

Crl_Sign

]

 

#3: ObjectId: 2.5.29.14 Criticality=false

SubjectKeyIdentifier [

KeyIdentifier [

0000: E3 81 66 00 7B C9 8F 3F5A 77 E0 6D 5C EB 41 42..f….?Zw.m.AB

0010: C7 48 5A 10.HZ.

]

]

 

#4: ObjectId: 1.3.6.1.5.5.7.1.1 Criticality=false

AuthorityInfoAccess [

[

accessMethod: 1.3.6.1.5.5.7.48.1

accessLocation: URIName: http://182.119.171.106:12333/]

]

 

#5: ObjectId: 2.5.29.31 Criticality=false

CRLDistributionPoints [

[DistributionPoint:

[CN=crl1, OU=crl, O=BOCTest, C=CN]

]]

 

#6: ObjectId: 2.5.29.32 Criticality=false

CertificatePolicies [

[CertificatePolicyId: [2.5.29.32.0]

[PolicyQualifierInfo: [

qualifierID: 1.3.6.1.5.5.7.2.1

qualifier: 0000: 16 1E 68 74 74 70 3A 2F2F 31 38 32 2E 31 31 39..http://1

82.119

0010: 2E 31 37 31 2E 31 30 362F 63 70 73 2E 68 74 6D.171.106/cps.htm

 

]]]

]

 

#7: ObjectId: 2.16.840.1.113730.1.1 Criticality=false

NetscapeCertType [

SSL CA

S/MIME CA

Object Signing CA]

 

#8: ObjectId: 2.5.29.35 Criticality=false

AuthorityKeyIdentifier [

KeyIdentifier [

0000: E3 81 66 00 7B C9 8F 3F5A 77 E0 6D 5C EB 41 42..f….?Zw.m.AB

0010: C7 48 5A 10.HZ.

]

 

]

 

Trust this certificate? [no]:yes

Certificate was added to keystore

[root@orange3c bin]#

 

 

NOTE: (xp: %JAVA_HOME%/jre/lib/security/cacerts,linux: $JAVA_HOME/jre/lib/security/cacerts)

驗證是否已創建過同名的證書
keytool -list -v -alias tomcat -keystore "%JAVA_HOME%/jre/lib/security/cacerts " -storepass changeit

 

刪除已創建的證書

keytool -delete -alias tomcat -keystore "%%JAVA_HOME%/jre/lib/security/cacerts " -storepass changeit

Keytool是一個Java數據證書的管理工具。
keystore

Keytool將密鑰(key)和證書(certificates)存在一個稱為keystore的文件中
在keystore里,包含兩種數據: 密鑰實體(Key entity)——密鑰(secret key)又或者是私鑰和配對公鑰(采用非對稱加密)
可信任的證書實體(trusted certificate entries)——只包含公鑰

Alias(別名)
每個keystore都關聯這一個獨一無二的alias,這個alias通常不區分大小寫

keystore的存儲位置
在沒有制定生成位置的情況下,keystore會存在與用戶的系統默認目錄,
如:對于window xp系統,會生成在系統的C:Documents and SettingsUserName
文件名為“.keystore”

keystore的生成

引用

keytool -genkey -alias tomcat-keyalg RSA -keystore d:mykeystore -dname "CN=localhost, OU=localhost, O=localhost, L=SH, ST=SH, C=CN" -keypass changeit -storepass -validity 180

參數說明:
-genkey表示要創建一個新的密鑰
-dname表示密鑰的Distinguished Names,
CN=commonName
OU=organizationUnit
O=organizationName
L=localityName
S=stateName
C=country
Distinguished Names表明了密鑰的發行者身份
-keyalg使用加密的算法,這里是RSA
-alias密鑰的別名
-keypass私有密鑰的密碼,這里設置為changeit
-keystore 密鑰保存在D:盤目錄下的mykeystore文件中
-storepass 存取密碼,這里設置為changeit,這個密碼提供系統從mykeystore文件中將信息取出
-validity該密鑰的有效期為 180天 (默認為90天)

cacerts證書文件(The cacerts Certificates File)

該證書文件存在于java.homejrelibsecurity目錄下,是Java系統的CA證書倉庫

創建證書

1.服務器中生成證書:(注:生成證書時,CN要和服務器的域名相同,如果在本地測試,則使用localhost)
keytool -genkey -alias tomcat -keyalg RSA -keystore d:mykeystore -dname "CN=localhost, OU=localhost, O=localhost, L=SH, ST=SH, C=CN" -keypass changeit -storepass changeit

導出證書

由客戶端安裝:
keytool -export -alias tomcat -keystore d:mykeystore -file d:mycerts.cer -storepass changeit

客戶端配置

為客戶端的JVM導入密鑰(將服務器下發的證書導入到JVM中)
keytool -import -trustcacerts -alias tomcat -keystore "%JAVA_HOME%/jre/lib/security/cacerts " -file d:mycerts.cer -storepass changeit
生成的證書可以交付客戶端用戶使用,用以進行SSL通訊,或者伴隨電子簽名的jar包進行發布者的身份認證。

 

常出現的異常:“未找到可信任的證書”–主要原因為在客戶端未將服務器下發的證書導入到JVM中,可以用
keytool -list -alias tomcat -keystore "%JAVA_HOME%/JRE/LIB/SECURITY/CACERTS" -storepass changeit

linux: #keytool -list -alias tomcat -keystore "$JAVA_HOME/jre/lib/security/cacerts" -storepass changeit
來查看證書是否真的導入到JVM中。

 

keytool生成根證書時出現如下錯誤:

keytool錯誤:java.io.IOException:keystore was tampered with,or password was incorrect

原因是在你的home目錄下是否還有.keystore存在。如果存在那么把他刪除掉,然后再執行

或者刪除"%JAVA_HOME%/jre/lib/security/cacerts 再執行

 

 

keytool 用法:

-certreq [-v] [-protected]

[-alias <別名>] [-sigalg <sigalg>]

[-file <csr_file>] [-keypass <密鑰庫口令>]

[-keystore <密鑰庫>] [-storepass <存儲庫口令>]

[-storetype <存儲類型>] [-providername <名稱>]

[-providerclass <提供方類名稱> [-providerarg <參數>]] …

[-providerpath <路徑列表>]

 

-changealias [-v] [-protected] -alias <別名> -destalias <目標別名>

[-keypass <密鑰庫口令>]

[-keystore <密鑰庫>] [-storepass <存儲庫口令>]

[-storetype <存儲類型>] [-providername <名稱>]

[-providerclass <提供方類名稱> [-providerarg <參數>]] …

[-providerpath <路徑列表>]

 

-delete [-v] [-protected] -alias <別名>

[-keystore <密鑰庫>] [-storepass <存儲庫口令>]

[-storetype <存儲類型>] [-providername <名稱>]

[-providerclass <提供方類名稱> [-providerarg <參數>]] …

[-providerpath <路徑列表>]

 

-exportcert [-v] [-rfc] [-protected]

[-alias <別名>] [-file <認證文件>]

[-keystore <密鑰庫>] [-storepass <存儲庫口令>]

[-storetype <存儲類型>] [-providername <名稱>]

[-providerclass <提供方類名稱> [-providerarg <參數>]] …

[-providerpath <路徑列表>]

 

-genkeypair [-v] [-protected]

[-alias <別名>]

[-keyalg <keyalg>] [-keysize <密鑰大小>]

[-sigalg <sigalg>] [-dname <dname>]

[-validity <valDays>] [-keypass <密鑰庫口令>]

[-keystore <密鑰庫>] [-storepass <存儲庫口令>]

[-storetype <存儲類型>] [-providername <名稱>]

[-providerclass <提供方類名稱> [-providerarg <參數>]] …

[-providerpath <路徑列表>]

 

-genseckey [-v] [-protected]

[-alias <別名>] [-keypass <密鑰庫口令>]

[-keyalg <keyalg>] [-keysize <密鑰大小>]

[-keystore <密鑰庫>] [-storepass <存儲庫口令>]

[-storetype <存儲類型>] [-providername <名稱>]

[-providerclass <提供方類名稱> [-providerarg <參數>]] …

[-providerpath <路徑列表>]

 

-importcert [-v] [-noprompt] [-trustcacerts] [-protected]

[-alias <別名>]

[-file <認證文件>] [-keypass <密鑰庫口令>]

[-keystore <密鑰庫>] [-storepass <存儲庫口令>]

[-storetype <存儲類型>] [-providername <名稱>]

[-providerclass <提供方類名稱> [-providerarg <參數>]] …

[-providerpath <路徑列表>]

 

-importkeystore [-v]

[-srckeystore <源密鑰庫>] [-destkeystore <目標密鑰庫>]

[-srcstoretype <源存儲類型>] [-deststoretype <目標存儲類型>]

[-srcstorepass <源存儲庫口令>] [-deststorepass <目標存儲庫口令>]

[-srcprotected] [-destprotected]

[-srcprovidername <源提供方名稱>]

[-destprovidername <目標提供方名稱>]

[-srcalias <源別名> [-destalias <目標別名>]

[-srckeypass <源密鑰庫口令>] [-destkeypass <目標密鑰庫口令>]]

[-noprompt]

[-providerclass <提供方類名稱> [-providerarg <參數>]] …

[-providerpath <路徑列表>]

 

-keypasswd [-v] [-alias <別名>]

[-keypass <舊密鑰庫口令>] [-new <新密鑰庫口令>]

[-keystore <密鑰庫>] [-storepass <存儲庫口令>]

[-storetype <存儲類型>] [-providername <名稱>]

[-providerclass <提供方類名稱> [-providerarg <參數>]] …

[-providerpath <路徑列表>]

 

-list [-v | -rfc] [-protected]

[-alias <別名>]

[-keystore <密鑰庫>] [-storepass <存儲庫口令>]

[-storetype <存儲類型>] [-providername <名稱>]

[-providerclass <提供方類名稱> [-providerarg <參數>]] …

[-providerpath <路徑列表>]

 

-printcert [-v] [-file <認證文件>]

 

-storepasswd [-v] [-new <新存儲庫口令>]

[-keystore <密鑰庫>] [-storepass <存儲庫口令>]

[-storetype <存儲類型>] [-providername <名稱>]

[-providerclass <提供方類名稱> [-providerarg <參數>]] …

[-providerpath <路徑列表>]

更多關于云服務器域名注冊,虛擬主機的問題,請訪問三五互聯官網:m.shinetop.cn

贊(0)
聲明:本網站發布的內容(圖片、視頻和文字)以原創、轉載和分享網絡內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。郵箱:3140448839@qq.com。本站原創內容未經允許不得轉載,或轉載時需注明出處:三五互聯知識庫 » 數字證書中keytool命令使用說明

登錄

找回密碼

注冊

主站蜘蛛池模板: 新建县| 一区二区三区午夜无码视频| 偷拍久久大胆的黄片视频| 凹凸国产熟女精品视频| 亚洲一区二区中文av| 国产精品任我爽爆在线播放6080 | 国产精品v片在线观看不卡| 粉嫩蜜臀av一区二区三区| 人妻精品动漫H无码中字| 亚洲国产中文字幕精品| 国产中文字幕在线一区| 亚洲国产精品久久久久秋霞| 国产精品亚洲综合久久小说| 人妻少妇88久久中文字幕| 成人午夜国产内射主播| 熟女人妻aⅴ一区二区三区电影 | 女同另类激情在线三区| 国产成人久久精品二三区| 国产精品日韩av在线播放| 国产福利午夜十八禁久久| 亚洲熟妇国产熟妇肥婆| 国精品91人妻无码一区二区三区 | 精品国产一区AV天美传媒| 欧美日产国产精品日产| 亚洲小说乱欧美另类| 松原市| 国产精品自在线拍国产手机版| 欧美牲交a欧美牲交aⅴ免费真| 国产成人人综合亚洲欧美丁香花| 女人与牲口性恔配视频免费| 无码AV动漫精品一区二区免费| 在线观看国产成人av天堂| 亚洲AV无码午夜嘿嘿嘿| 日韩精品亚洲专区在线观看| 国产精品无遮挡猛进猛出| 自拍偷拍一区二区三区四| 亚洲经典在线中文字幕| 亚洲色欲在线播放一区| 国产精品无码v在线观看| 亚洲中文字幕在线二页| 国产精品欧美福利久久|