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

猜你喜欢

转载自my.oschina.net/u/1787735/blog/829132