卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

KeyTool證書管理

10.3 證書管理任何機(jī)構(gòu)或個(gè)人都可以申請(qǐng)數(shù)字證書,并使用由CA 機(jī)構(gòu)頒發(fā)的數(shù)字證書為自己的應(yīng)用保駕護(hù)航。要獲得數(shù)字證書,我們需要使用數(shù)字證書管理工具(如KeyTool 和OpenSSL )構(gòu)建CSR

10.3 證書管理

任何機(jī)構(gòu)或個(gè)人都可以申請(qǐng)數(shù)字證書,并使用由CA 機(jī)構(gòu)頒發(fā)的數(shù)字證書為自己的應(yīng)用保駕護(hù)航。

要獲得數(shù)字證書,我們需要使用數(shù)字證書管理工具(如KeyTool 和OpenSSL )構(gòu)建CSR (Certificate Signing Request,數(shù)字證書簽發(fā)申請(qǐng)),交由CA 機(jī)構(gòu)簽發(fā),形成最終的數(shù)字證書。本文以Windows 操作系統(tǒng)操作KeyTool 和OpenSSL 為例,演 示證書管理的相關(guān)操作。獲得數(shù)字證書后,我們可以使用數(shù)字證書提供的算法進(jìn)行相應(yīng)實(shí)現(xiàn)。

10.3.1 KeyTool證書管理(1)

KeyTool 是Java 中的數(shù)字證書管理工具,用于數(shù)字證書的申請(qǐng)、導(dǎo)入、導(dǎo)出和撤銷等操作。有關(guān)Java 6下的KeyTool 命令參見http://java.sun.com/javase/6/docs/technotes/tools/solaris/keytool.html 。

KeyTool 與本地密鑰庫(kù)相關(guān)聯(lián),將私鑰存于密鑰庫(kù),公鑰則以數(shù)字證書輸出。KeyTool 位于JDK_HOMEbin目錄中,需要通過命令行進(jìn)行相應(yīng)的操作。

1. 構(gòu)建自簽名證書

申請(qǐng)數(shù)字證書之前,需要在密鑰庫(kù)中以別名的方式生成本地?cái)?shù)字證書,建立相應(yīng)的加密算法、密鑰、有效期等信息,同時(shí)需要提供用戶身份信息,我們可以為自己簽發(fā)一個(gè)數(shù)字證書(即自簽名證書)。

這里我們使用“www.zlex.org”作為別名,使用RSA 作為加密算法,并規(guī)定密鑰長(zhǎng)度為2048位,使用SHA1withRSA 作為數(shù)字簽名算法,欲簽發(fā)有效期為36000天的數(shù)字證書。完整的命令如代碼清單10-1所示。

代碼清單10-1 生成本地?cái)?shù)字證書1

1. keytool -genkeypair -keyalg RSA -keysize

2048 -sigalg SHA1withRSA -validity

2. 36000 -alias www.zlex.org -keystore zlex.keystore

各參數(shù)的含義如下所示:

-genkeypair 表示生成密鑰。

-keyalg 指定密鑰算法,這里指定為RSA 算法。

-keysize 指定密鑰長(zhǎng)度,默認(rèn)1024位,這里指定為2048位。

-sigalg 指定數(shù)字簽名算法,這里指定為SHA1withRSA 算法。

,

-validity 指定證書有效期,這里指定為36000天。

-alias 指定別名,這里是www.zlex.org 。

-keystore 指定密鑰庫(kù)存儲(chǔ)位置,這里是zlex.keystore 。

KeyTool 工具支持RSA 和DSA 共2種算法,且DSA 算法為默認(rèn)算法。 執(zhí)行上述命令后,可按相應(yīng)的示輸入用戶的相關(guān)信息,如圖10-7所示。

這里我們輸入密碼“123456”,也可通過參數(shù)“-storepass”指定密碼

“123456”。以“www.zlex.org”作為用戶的姓 名。這里的用戶并不是指代現(xiàn)實(shí)意義中的用戶個(gè)體,而是指代網(wǎng)絡(luò)環(huán)境中的用戶個(gè)體。因此,通常使用域名或帶有通配符“*”的泛域名,如 “*.zlex.org”標(biāo)識(shí)用戶身份。

我們可以使用參數(shù)-dname 指定用戶信息,代替上述手動(dòng)輸入用戶信息。完整的命令如代碼清單10-2所示。

代碼清單10-2 生成本地?cái)?shù)字證書2

1. keytool -genkeypair -keyalg RSA -keysize 2048

-sigalg SHA1withRSA -validity

2. 36000 -alias www.zlex.org -keystore zlex

.keystore -dname "CN=www.zlex.org, OU=zlex,

3. O=zlex, L=BJ, ST=BJ, C=CN"

,

經(jīng)過上述操作后,密鑰庫(kù)中已經(jīng)創(chuàng)建了數(shù)字證書。雖然這時(shí)的數(shù)字證書并沒有經(jīng)過CA 認(rèn)證,但并不影響我們使用。

我們?nèi)钥梢詫?shù)字證書導(dǎo)出,發(fā)送給合作伙伴進(jìn)行加密交互。完整命令如代碼清單10-3所示。

代碼清單10-3 導(dǎo)出數(shù)字證書

1. keytool -exportcert -alias www.zlex.org

-keystore zlex.keystore -file zlex.cer -rfc

10.3.2 KeyTool證書管理(2)

各參數(shù)的含義如下所示:

-exportcert 表示證書導(dǎo)出操作。

-alias 指定導(dǎo)別名,這里為www.zlex.org 。

-keystore 指定密鑰庫(kù)文件,這里為zlex.keystore 。

-file 指定導(dǎo)出文件路徑,這里為zlex.cer 。

-rfc 指定以Base64編碼格式輸出。

這里我們輸入密碼“123456”,也可通過參數(shù)“-storepass”指定密碼“123456”,將獲得數(shù)字證書文件“zlex.cer”。

執(zhí)行上述命令后,操作結(jié)果如圖10-8所示。

我們可以通過相應(yīng)的命令在控制臺(tái)打印數(shù)字證書的信息,命令如代碼清單10-4所示。

代碼清單10-4 打印數(shù)字證書

1. keytool -printcert -file zlex.cer

控制臺(tái)打印數(shù)字證書信息如圖10-9所示。

,

這里通過KeyTool 工具直接導(dǎo)出的證書,是一個(gè)自簽名的X.509第三版類型的根證書,并以Base64編碼保存。自簽名證書雖然可以使用,但未經(jīng)過CA 機(jī)構(gòu)認(rèn)證,幾乎沒有任何法律效力。

在使用自簽名證書時(shí),我們需要將其導(dǎo)入系統(tǒng)。

2. 構(gòu)建CA 簽發(fā)證書

如果要獲取CA 機(jī)構(gòu)認(rèn)證的數(shù)字證書,需要將數(shù)字證書簽發(fā)申請(qǐng)(CSR )導(dǎo)出,經(jīng)由CA 機(jī)構(gòu)認(rèn)證并頒發(fā),同時(shí)將認(rèn)證后的證書導(dǎo)入本地密鑰庫(kù)和信任庫(kù)。 導(dǎo)出數(shù)字證書簽發(fā)申請(qǐng)操作,如代碼清單10-5所示。

代碼清單10-5 導(dǎo)出數(shù)字證書簽發(fā)申請(qǐng)

1. keytool -certreq -alias www.zlex.org -keystore

zlex.keystore -file zlex.csr -v

各參數(shù)的含義如下所示:

-certreq 表示數(shù)字證書申請(qǐng)操作。

-alias 指定別名,這里為www.zlex.org 。

-keystore 指定密鑰庫(kù)文件,這里為zlex.keystore 。

-file 指定導(dǎo)出文件路徑,這里為zlex.csr 。

-v 詳細(xì)信息。

這里我們輸入密碼“123456”,也可通過參數(shù)“-storepass”指定密碼“123456”。

執(zhí)行上述命令后,將得到一個(gè)PKCS#10編碼格式的數(shù)字證書簽發(fā)申請(qǐng)文件,即文件“zlex.csr”,操作結(jié)果如圖10-10所示。

,

目前,由VeriSign (http://www.verisign.com/)、GeoTrust

(http://www.geotrust.com/)和Thawte (http://www.thawte.com/)國(guó)際權(quán)威數(shù)字證書頒發(fā)認(rèn)證機(jī)構(gòu)“三巨頭”簽發(fā)的數(shù)字證書價(jià)格不菲,但這三大認(rèn)證機(jī)構(gòu)幾乎都提供了用于測(cè)試的數(shù)字證書,讀者朋友可以提交CSR 文件內(nèi)容,獲得相應(yīng)的簽發(fā)數(shù)字證書。這些用于測(cè)試的數(shù)字證書通常在時(shí)效上擴(kuò)展功能等方面有限制。

當(dāng)然,我們可以使用免費(fèi)的國(guó)際權(quán)威數(shù)字證書頒發(fā)認(rèn)證機(jī)構(gòu)簽發(fā)數(shù)字證書,如CAcert (http://www.cacert.org/)。 獲得簽發(fā)后的數(shù)字證書后,需要將其導(dǎo)入信任庫(kù)。導(dǎo)入數(shù)字證書操作,如代碼清單10-6所示。

代碼清單10-6 導(dǎo)入數(shù)字證書

1. keytool -importcert -trustcacerts -alias www.

zlex.org -file zlex.cer -keystore zlex.keystore

各參數(shù)的含義如下所示:

-importcert 表示導(dǎo)入數(shù)字證書。

-trustcacerts 表示將數(shù)字證書導(dǎo)入信任庫(kù)。

-alias 指定導(dǎo)別名,這里為www.zlex.org 。

-file 指定導(dǎo)入數(shù)字證書文件路徑,這里為zlex.cer 。

-keystore 指定密鑰庫(kù)文件,這里為zlex.keystore 。

這里我們輸入密碼“123456”,也可通過參數(shù)“-storepass”指定密碼

“123456”,并輸入“Y”確認(rèn)導(dǎo)入該證書。本文以自簽名證 書導(dǎo)入為例,執(zhí)行上述命令操作的結(jié)果如圖10-11所示。導(dǎo)入證書后,我們可以通過相關(guān)命令查看該證書,命令如代碼清單10-7所示。

代碼清單10-7 查看導(dǎo)入數(shù)字證書

1. keytool -list -alias www.zlex.org -keystore zlex.keystore

,

各參數(shù)的含義如下所示:

-list 表示導(dǎo)入數(shù)字證書。

-alias 指定別名,這里為www.zlex.org 。

-keystore 指定密鑰庫(kù)文件,這里為zlex.keystore 。

這里我們輸入密碼“123456”,也可通過參數(shù)“-storepass”指定密碼“123456”。

執(zhí)行上述命令操作的結(jié)果如圖10-12所示。

我們也可以加入?yún)?shù)“-v”或“-rfc”查看該證書的詳細(xì)信息。

完成上述操作后,我們需要使用證書導(dǎo)出命令導(dǎo)出數(shù)字證書(見代碼清單10-3),并將其發(fā)放給合作伙伴使用。

,

標(biāo)簽: