-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 <路徑列表>]

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

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

登錄

找回密碼

注冊

主站蜘蛛池模板: 亚洲综合无码一区二区| 色呦呦九九七七国产精品| www国产亚洲精品久久网站| 亚洲精品综合久中文字幕| 狠狠色婷婷久久综合频道日韩| 亚洲中文字幕无码中字| 伊人精品成人久久综合97| 幻女free性俄罗斯毛片| 国内自拍偷拍一区二区三区| 日本无产久久99精品久久| 国产91麻豆精品成人区| 久久三级国内外久久三级| 九九热免费精品视频在线| 国产伦一区二区三区视频| 加勒比无码人妻东京热| 麻豆tv入口在线看| 永仁县| 日韩成人一区二区二十六区| 福利一区二区在线播放| 亚洲综合高清一区二区三区| 亚洲成人四虎在线播放| 国产午夜亚洲精品不卡网站| 国产熟女一区二区三区蜜臀| 免费无码中文字幕A级毛片| 亚洲免费观看一区二区三区| 基隆市| 国产精品视频一区二区噜| 凌源市| 亚洲成人av免费一区| 国产精品任我爽爆在线播放6080| 精品剧情V国产在线观看| 国产精品麻豆欧美日韩ww| 日韩精品 在线 国产 丝袜| 图片区小说区av区| 日本久久久久久久做爰片日本| 日韩无专区精品中文字幕| 各种少妇wbb撒尿| 成人无码潮喷在线观看| 国产69精品久久久久人妻| 欧美18videosex性欧美tube1080 | 亚洲日本韩国欧美云霸高清|