生成证书

使用keytool生成证书

  1. 证书生成
  • 服务端:
    keytool -genkeypair -alias server -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore server.p12 -validity 365

f:\cert\java>keytool -genkeypair -alias server -storetype PKCS12 -keyalg RSA -ke
ysize 2048 -keystore server.p12 -validity 3650
输入密钥库口令:
再次输入新口令:
您的名字与姓氏是什么?
[Unknown]:
您的组织单位名称是什么?
[Unknown]:
您的组织名称是什么?
[Unknown]:
您所在的城市或区域名称是什么?
[Unknown]:
您所在的省/市/自治区名称是什么?
[Unknown]:
该单位的双字母国家/地区代码是什么?
[Unknown]:
CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown是否正确?
[否]: y

此处我的秘钥库口令为: server

  • 客户端:
    keytool -genkeypair -alias client -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore client.p12 -validity 365

f:\cert\java>keytool -genkeypair -alias client -storetype PKCS12 -keyalg RSA -ke
ysize 2048 -keystore client.p12 -validity 3650
输入密钥库口令:
再次输入新口令:
您的名字与姓氏是什么?
[Unknown]:
您的组织单位名称是什么?
[Unknown]:
您的组织名称是什么?
[Unknown]:
您所在的城市或区域名称是什么?
[Unknown]:
您所在的省/市/自治区名称是什么?
[Unknown]:
该单位的双字母国家/地区代码是什么?
[Unknown]:
CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown是否正确?
[否]: y

此处秘钥库密码为:client

2.导出证书

  • keytool -export -alias server -file server.crt --keystore server.p12

f:\cert\java>keytool -export -alias server -file server.crt --keystore server.p12
输入密钥库口令:
存储在文件 中的证书

此处秘钥库口令为server口令 :server

  • keytool -export -alias client -file client.crt --keystore client.p12

f:\cert\java>keytool -export -alias server -file server.crt --keystore server.p12
输入密钥库口令:
存储在文件 中的证书

此处秘钥库口令为client口令 :client

  1. 使之相互授信
  • 将server.crt文件导入client.p12中,使client端信任server。
    keytool -import -alias server -file server.crt -keystore client.p12
f:\cert\java>keytool -import -alias server -file server.crt -keystore client.p12

输入密钥库口令:
所有者: CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown
发布者: CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown
序列号: 619b9b50
有效期为 Fri Nov 08 16:42:02 CST 2019 至 Mon Nov 05 16:42:02 CST 2029
证书指纹:
         MD5:  06:EB:4C:BC:F6:D9:C6:EA:DD:27:12:AF:C5:42:85:B8
         SHA1: 32:7C:C7:0C:32:A5:D0:1D:9C:27:90:E7:6E:88:41:CB:A8:5F:11:C2
         SHA256: 9C:70:E4:28:C1:B3:2B:BF:53:CB:B9:7F:DA:E8:A6:34:6C:B9:4F:A5:9A:
7E:4C:37:76:39:75:68:ED:6B:5F:3E
签名算法名称: SHA256withRSA
主体公共密钥算法: 2048 位 RSA 密钥
版本: 3

扩展:

#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 86 74 FB 3E 7F A4 88 59   F1 DD 52 DA 62 43 52 12  .t.>...Y..R.bCR.
0010: 7B 1A 06 26                                        ...&
]
]

是否信任此证书? [否]:  y
证书已添加到密钥库中

此处秘钥库口令为client端口令: client

  • 将client.crt文件导入server.p12中,使server端信任client。
    keytool -import -alias client -file client.crt -keystore server.p12
f:\cert\java>keytool -import -alias client -file client.crt -keystore server.p12

输入密钥库口令:
所有者: CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown
发布者: CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown
序列号: 10b19cc7
有效期为 Fri Nov 08 16:44:22 CST 2019 至 Mon Nov 05 16:44:22 CST 2029
证书指纹:
         MD5:  B8:21:14:5E:3D:0B:7C:14:40:38:65:7F:4F:3B:C3:81
         SHA1: 5D:B4:7D:13:71:8C:31:D7:DC:BF:12:98:9E:9B:D7:98:21:70:44:32
         SHA256: 50:3B:11:C6:12:F7:D2:88:7B:05:83:CF:2C:51:13:6E:C3:2A:69:92:DE:
43:8B:31:63:BA:97:9B:37:7E:DF:45
签名算法名称: SHA256withRSA
主体公共密钥算法: 2048 位 RSA 密钥
版本: 3

扩展:

#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 59 EB 8F 3F DB BD 38 5D   E9 5F 69 EA 03 76 D0 25  Y..?..8]._i..v.%
0010: A2 C8 82 E5                                        ....
]
]

是否信任此证书? [否]:  y
证书已添加到密钥库中

此处秘钥库口令为client端口令: server

你可能感兴趣的:(生成证书)