1. 程式人生 > >https雙向認證、證書製作過程

https雙向認證、證書製作過程

1、生成伺服器證書庫 輸入命令:

keytool -validity 365 -genkey -v -alias server -keyalg RSA -keystore  D:\jks\server.keystore -dname "CN=127.0.0.1,OU=icesoft,O=icesoft,L=Haidian,ST=Beijing,c=cn" -storepass 123456 -keypass 123456

輸出命令:

正在為以下物件生成 2,048 位RSA金鑰對和自簽名證書 (SHA256withRSA) (有效期為 365
天):
         CN=127.0.0.1, OU=icesoft, O=icesoft, L=Haidian, ST=Beijing, C=cn
[正在儲存D:\jks\server.keystore]

2、生成客戶端證書庫 輸入命令:

keytool -validity 365 -genkeypair -v -alias client -keyalg RSA -store
type PKCS12 -keystore D:\jks\clq.p12 -dname "CN=clq4123345553344,OU=icesoft
,O=icesoft,L=Haidian,ST=Beijing,c=cn" -storepass 123456 -keypass 123456

輸出命令:

正在為以下物件生成 2,048 位RSA金鑰對和自簽名證書 (SHA256withRSA) (有效期為 365
天):
         CN=clq4123345553344, OU=icesoft, O=icesoft, L=Haidian, ST=Beijing, C=c
n
[正在儲存E:\jks\clq.p12]

3、從客戶端證書庫中匯出客戶端證書 輸入命令:

keytool -export -v -alias client -keystore D:\jks\clq.p12 -storet
ype PKCS12 -storepass 123456 -rfc -file D:\jks\clq.cer

輸出命令:

儲存在檔案 <D:\jks\clq.cer> 中的證書

4、從伺服器證書庫中匯出伺服器證書 輸入命令:

keytool -export -v -alias server -keystore D:\jks\server.keystore
 -storepass 123456 -rfc -file D:\jks\server.cer

輸出命令:

儲存在檔案 <D:\jks\server.cer> 中的證書

5、生成客戶端信任證書庫(由服務端證書生成的證書庫) 輸入命令:

keytool -import -v -alias server -file D:\jks\server.cer -keystor
e D:\jks\clq.truststore -storepass 123456

輸出命令:

所有者: CN=127.0.0.1, OU=icesoft, O=icesoft, L=Haidian, ST=Beijing, C=cn
釋出者: CN=127.0.0.1, OU=icesoft, O=icesoft, L=Haidian, ST=Beijing, C=cn
序列號: 600eef1a
有效期開始日期: Tue Jan 17 18:22:57 GMT+08:00 2017, 截止日期: Wed Jan 17 18:22:5
7 GMT+08:00 2018
證書指紋:
         MD5: 45:E0:86:35:2A:22:14:26:27:B8:00:C5:54:EB:20:96
         SHA1: 0C:23:BA:A2:29:A1:8A:35:DF:75:62:B8:4D:EC:D4:57:32:C6:57:19
         SHA256: BA:D1:57:49:26:7B:C4:15:B7:54:23:8F:F9:A3:C2:86:F5:81:6E:DB:D7:
3A:E0:89:A7:AA:16:90:17:48:B4:5E
         簽名演算法名稱: SHA256withRSA
         版本: 3

擴充套件:

#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 89 B9 60 1C 13 7E 2E 53   C2 D2 9B 78 97 A0 F6 74  ..`....S...x...t
0010: E9 88 56 F7                                        ..V.
]
]

是否信任此證書? [否]:  Y
證書已新增到金鑰庫中
[正在儲存D:\jks\clq.truststore]

6、將客戶端證書匯入到伺服器證書庫(使得伺服器信任客戶端證書) 輸入命令:

keytool -import -v -alias client -file D:\jks\clq.cer -keystore d:\jks\server.keystore -storepass 123456

輸出命令:

所有者: CN=clq 4123345553344, OU=icesoft, O=icesoft, L=Haidian, ST=Beijing, C=cn

釋出者: CN=clq 4123345553344, OU=icesoft, O=icesoft, L=Haidian, ST=Beijing, C=cn

序列號: 4d36ba08
有效期開始日期: Tue Jan 17 18:26:04 GMT+08:00 2017, 截止日期: Wed Jan 17 18:26:0
4 GMT+08:00 2018
證書指紋:
         MD5: F4:DA:20:16:CF:6C:88:B8:A0:30:89:6E:09:06:B3:36
         SHA1: 35:B3:CE:16:A1:3F:DA:50:45:66:83:51:29:B8:46:59:FF:1E:A1:B7
         SHA256: DB:17:6E:5D:AE:F6:79:45:1B:95:B8:90:AE:70:6E:8E:5C:C9:31:EC:EF:
0E:23:BF:41:E1:E1:A0:FC:2E:FD:03
         簽名演算法名稱: SHA256withRSA
         版本: 3

擴充套件:

#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 58 04 1B D7 4B DE F8 4D   43 95 B4 0F 2C AA 6C 7A  X...K..MC...,.lz
0010: 95 5D 7E 2E                                        .]..
]
]

是否信任此證書? [否]:  Y
證書已新增到金鑰庫中
[正在儲存d:\jks\server.keystore]

7、檢視證書庫中的全部證書 輸入命令:

keytool -list -keystore D:\jks\server.keystore -storepass 123456

輸出命令:


金鑰庫型別: JKS
金鑰庫提供方: SUN

您的金鑰庫包含 2 個條目

client, 2017-1-17, trustedCertEntry,
證書指紋 (SHA1): 35:B3:CE:16:A1:3F:DA:50:45:66:83:51:29:B8:46:59:FF:1E:A1:B7
server, 2017-1-17, PrivateKeyEntry,
證書指紋 (SHA1): 0C:23:BA:A2:29:A1:8A:35:DF:75:62:B8:4D:EC:D4:57:32:C6:57:19