您的位置:首页 > 理论基础 > 计算机网络

HTTP/SSL/TSL 服务器客户端双向验证

2016-03-23 21:07 375 查看
以下命令需要在在windos dos命令窗口中执行

1、服务器生成密钥库

keytool -genkey -alias jason -keyalg RSA -keystore jason.keystore -validity 365

**alias jason 服务器密钥库别名 keyalg RSA 使用RSA算法 -keystore jason.keystore 生成的服务器密钥库的文件名称 validity 365 密钥库的有效期是354天**

输入密钥库口令: 123456

您的名字与姓氏是什么?

[Unknown]: www.jason.com

** www.jason.com 必须比你的网站同名 **

您的组织单位名称是什么?

[Unknown]: jason

您的组织名称是什么?

[Unknown]: jason

您所在的城市或区域名称是什么?

[Unknown]: SZ

您所在的省/市/自治区名称是什么?

[Unknown]: SZ

该单位的双字母国家/地区代码是什么?

[Unknown]: CN

CN=www.jason.com, OU=jason, O=jason, L=SZ, ST=SZ, C=CN是否正确?

[否]: Y

<br/>

2、服务器密钥库导出证书

keytool -export -alias jason -keystore jason.keystore -file jason.cer

输入密钥库口令:123456

存储在文件 <jason.cer> 中的证书

alias jason指出从哪别名密钥库导出 keystore jason.keystore 密钥库的名称 -file 导出证书的名称

将服务器的密钥库 jason.keystore 放入tomcat中的conf目录

打开tomcat 8443 默认的HTTPS协议端口 配置keystoreFile密钥库路径 keystorePass 密码

<Connector

protocol="org.apache.coyote.http11.Http11NioProtocol"

port="8443" maxThreads="200"

scheme="https" secure="true" SSLEnabled="true"

keystoreFile="conf/mogubrother.keystore" keystorePass="123456"

clientAuth="true" sslProtocol="TLS"/>

再双击jason.cer证书 安装到浏览器中就实现浏览器对服务器的认证。

3、客户端生成密钥库

keytool -genkey -alias client -keyalg RSA -storetype PKCS12 -keystore client.key.p12

** alias client客户端密钥库别名 keyalg RSA 算法 storetype PKCS12 密钥库的类型 keystore client.key.p12 密钥库名称**

输入密钥库口令: 123456

再次输入新口令: 123456

您的名字与姓氏是什么?

[Unknown]: client

您的组织单位名称是什么?

[Unknown]: client

您的组织名称是什么?

[Unknown]: SZ

您所在的城市或区域名称是什么?

[Unknown]: SZ

您所在的省/市/自治区名称是什么?

[Unknown]: SZ

该单位的双字母国家/地区代码是什么?

[Unknown]: CN

CN=client, OU=client, O=SZ, L=SZ, ST=SZ, C=CN是否正确?

[否]: Y

4、客户端密钥库导出证书

keytool -export -keystore client.key.p12 -storetype PKCS12 -alias client -file client.key.cer

输入密钥库口令: 123456

存储在文件 <client.key.cer> 中的证书

5、客户端密钥导入服务器密钥库

keytool -import -file client.key.cer -keystore jason.keystore -v

输入密钥库口令:

所有者: CN=client, OU=client, O=SZ, L=SZ, ST=SZ, C=CN

发布者: CN=client, OU=client, O=SZ, L=SZ, ST=SZ, C=CN

序列号: 3cab0414

有效期开始日期: Tue Mar 22 22:55:55 CST 2016, 截止日期: Mon Jun 20 22:55:55 CST 2016

证书指纹:

MD5: C6:DC:8D:CF:A4:F9:B3:48:D4:33:0A:E8:13:8B:5E:41

SHA1: 4C:8B:13:7C:C2:62:86:36:54:36:25:37:08:9C:E0:1D:E1:04:D5:3B

SHA256: 3B:93:08:F8:6C:A1:1A:A0:68:29:16:EF:5C:B0:AB:B0:E7:07:48:16:95:B2:F2:17:E6:91:E8:90:1B:D7:79:3E

签名算法名称: SHA256withRSA

版本: 3

扩展:

#1: ObjectId: 2.5.29.14 Criticality=false

SubjectKeyIdentifier [

KeyIdentifier [

0000: A2 25 15 74 1A F6 93 C3 BC E5 C7 21 7B D1 01 8B .%.t.......!....

0010: 8C DB 5E F6 ..^.

]

]

是否信任此证书? [否]: Y

证书已添加到密钥库中

[正在存储mogubrother.keystore]

最后把添加客户端证书的密钥库在tomcat conf文件假中替换

添加tomcat 客户端配置

truststoreFile 导入了客户端证书的服务器密钥库

truststorePass 证书密码

<Connector

protocol="org.apache.coyote.http11.Http11NioProtocol"

port="8443" maxThreads="200"

scheme="https" secure="true" SSLEnabled="true"

keystoreFile="conf/mogubrother.keystore" keystorePass="mogu1234"

clientAuth="true"

truststoreFile="conf/mogubrother.keystore" truststorePass="123456" sslProtocol="TLS"/>

双击client.key.p12 客户端密钥库安装到浏览器,就实现了服务器对客户端的验证
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: