来自 电脑知识 2019-12-18 10:02 的文章
当前位置: 威尼斯国际官方网站 > 电脑知识 > 正文

详解用Tomcat服务器配置https双向认证过程实战

工具:keytool (Windows下路径:%JAVA_HOME%/bin/keytool.exe)

1:什么是HTTPS?

环境:Windows8.1企业版、Tomcat-7.0.27、JDK1.6、IE11、Chrome

HTTPS其实是有两有的组成:HTTP + SSL / TLS,

生龙活虎、为劳动器生成证书

相当于在HTTP上又加了风流倜傥层管理加密音信的模块,而且会举办身份的证实。

C:Windowssystem32>keytool -genkey -v -alias tomcat -keyalg RSA -keystore D:tomcat.keystore -validity 36500
输入keystore密码:
再次输入新密码:
您的名字与姓氏是什么?
 [Unknown]: StoneXing
您的组织单位名称是什么?
 [Unknown]: iFLYTEK
您的组织名称是什么?
 [Unknown]: iFLYTEK
您所在的城市或区域名称是什么?
 [Unknown]: 合肥市
您所在的州或省份名称是什么?
 [Unknown]: 安徽省
该单位的两字母国家代码是什么
 [Unknown]: CN
CN=StoneXing, OU=iFLYTEK, O=iFLYTEK, L=合肥市, ST=安徽省, C=CN 正确吗? [否]: y

正在为以下对象生成 1,024 位 RSA 密钥对和自签名证书 (SHA1withRSA)(有效期为 36,500 天):
     CN=StoneXing, OU=iFLYTEK, O=iFLYTEK, L=合肥市, ST=安徽省, C=CN
输入<tomcat>的主密码
    (如果和 keystore 密码相同,按回车):
[正在存储 D:tomcat.keystore]

C:Windowssystem32>

2:什么是自签定证书?

“D:tomcat.keystore”含义是将证书文件的保留路线,证书文件名称是tomcat.keystore(可自定义名称卡塔尔国;

就是投机生成的申明,并非官方生成的证件。

“-validity 36500”含义是证书保藏期,36500代表100年,暗中同意值是90天;

除非是很正规的品种,不然使用本身签发的证明就可以,因为官方生成证书是要花钱滴。

二、为顾客端生成证书

3:步入正题,使用JDK自带工具KeyTool 生成自签发证书!

1、生成客商端证书

第一步:为服务器生成证书

C:Windowssystem32>keytool -genkey -v -alias mykey -keyalg RSA -storetype PKCS12 -keystore D:client.key.p12
输入keystore密码:
再次输入新密码:
您的名字与姓氏是什么?
 [Unknown]: StoneXing
您的组织单位名称是什么?
 [Unknown]: iFLYTEK
您的组织名称是什么?
 [Unknown]: iFLYTEK
您所在的城市或区域名称是什么?
 [Unknown]: 合肥
您所在的州或省份名称是什么?
 [Unknown]: 安徽省
该单位的两字母国家代码是什么
 [Unknown]: CN
CN=StoneXing, OU=iFLYTEK, O=iFLYTEK, L=合肥, ST=安徽省, C=CN 正确吗? [否]: y

正在为以下对象生成 1,024 位 RSA 密钥对和自签名证书 (SHA1withRSA)(有效期为 90 天):
     CN=StoneXing, OU=iFLYTEK, O=iFLYTEK, L=合肥, ST=安徽省, C=CN
[正在存储 D:client.key.p12]

C:Windowssystem32>

命令:

变化的八个文件:

keytool

威尼斯国际官方网站 1

-genkey

2、安装顾客端证书

-alias tomcat(别名)

双击客商端证书“client.key.p12”实现导入证书进程如下:

-keypass 123456(外号密码卡塔尔(英语:State of Qatar)

威尼斯国际官方网站 2

-keyalg RSA(算法)

威尼斯国际官方网站 3

-keysize 1024(密钥长度卡塔尔(قطر‎

威尼斯国际官方网站 4

-validity 3650(有效期,天单位)

威尼斯国际官方网站 5

-keystore tomcat.keystore(钦赐生成证书的地点和注解名称卡塔尔国

威尼斯国际官方网站 6

-storepass 123456(获取keystore音讯的密码卡塔尔

威尼斯国际官方网站 7

造福复排版:

威尼斯国际官方网站 8

keytool -genkey -alias tomcat -keypass 123456 -keyalg RSA -keysize 1024 -validity 3650 -keystore D:/keys/tomcat.keystore -storepass 123456

三、让服务器信赖顾客端证书

回车实施后如下图:

1、将客商端证书导出为CE索罗德文件

威尼斯国际官方网站 9

鉴于是双向SSL认证,服务器一定要相信顾客端证书,因而,务必把客商端证书增加为服务器的信任认证。因不能够直接将PKCS12格式的证书库导入服务器证书库,将客商端证书导出为二个独门的CERAV4文件

点击回车即生成名叫:tomcat.keystore的文书。

keytool -export -alias mykey -keystore D:client.key.p12 -storetype PKCS12 -storepass password -rfc -file D:client.key.cer

注意:

注:password为客商端证书的密码

What is your first and last name?  建议填域名

C:Windowssystem32>keytool -export -alias mykey -keystore D:client.key.p12 -storetype PKCS12 -storepass 888888 -rfc -file D:client.key.cer
保存在文件中的认证 <D:client.key.cer>

C:Windowssystem32>

其次步:为客商端生成证书

威尼斯国际官方网站 ,2、将CEQX56文件导入到服务器的证书库

为浏览器生成证书,以便让服务器来证实它。

加上为八个亲信证书应用命令如下:

为了能将证书顺遂导入至IE和Firefox,证书格式应该是PKCS12,

C:Windowssystem32>keytool -import -v -file D:client.key.cer -keystore D:tomcat.keystore
输入keystore密码:
所有者:CN=StoneXing, OU=iFLYTEK, O=iFLYTEK, L=合肥, ST=安徽省, C=CN
签发人:CN=StoneXing, OU=iFLYTEK, O=iFLYTEK, L=合肥, ST=安徽省, C=CN
序列号:52e07723
有效期: Thu Jan 23 09:57:55 CST 2014 至Wed Apr 23 09:57:55 CST 2014
证书指纹:
     MD5:15:29:58:68:8D:63:E1:00:8E:E6:EC:5E:AD:23:79:38
     SHA1:B7:EF:B9:67:BD:56:95:82:3D:D8:14:0D:20:69:F0:C8:60:98:31:9A
     签名算法名称:SHA1withRSA
     版本: 3
信任这个认证? [否]: y
认证已添加至keystore中
[正在存储 D:tomcat.keystore]

C:Windowssystem32>

为此,使用如下命令生成:

3、检查装置结果

keytool

因而list命令查看服务器的证书库,能够阅览三个证书,多少个是服务器证书,七个是受信任的客商端证书:

-genkey

keytool -list -keystore D:tomcat.keystore (tomcat为你设置服务器端的证书名卡塔尔(قطر‎。

-alias client

C:Windowssystem32>keytool -list -keystore D:tomcat.keystore
输入keystore密码:

Keystore 类型: JKS
Keystore 提供者: SUN

您的 keystore 包含 2 输入

tomcat, 2014-1-23, PrivateKeyEntry,
认证指纹 (MD5): 4B:71:06:02:7C:35:F8:BF:B1:24:E2:68:8F:65:75:15
mykey, 2014-1-23, trustedCertEntry,
认证指纹 (MD5): 15:29:58:68:8D:63:E1:00:8E:E6:EC:5E:AD:23:79:38

C:Windowssystem32>

-keypass 123456

四、让顾客端信赖服务器证书

-keyalg RSA

1、把服务器证书导出为CEGL450文件

-storetype PKCS12

鉴于是双向SSL认证,顾客端也要验证服务器证书,由此,必得把服务器证书加多到浏览的“受信任的根证书颁发机构”。由于不能够间接将keystore格式的证书库导入,必得先把服务器证书导出为一个单身的CE福特Explorer文件,使用如下命令:

-keypass 123456

keytool -keystore D:hometomcat.keystore -export -alias tomcat -file D:hometomcat.cer (tomcat为您设置服务器端的证书名卡塔尔国。

-storepass 123456

C:Windowssystem32>keytool -keystore D:tomcat.keystore -export -alias tomcat -file D:tomcat.cer
输入keystore密码:
保存在文件中的认证 <D:tomcat.cer>

C:Windowssystem32>

-keystore client.p12

2、在客商端安装服务器证书

造福复制版:

双击“tomcat.cer”,根据提醒安装证书,将证书填入到“受信任的根证书颁发机构”。

keytool -genkey -alias client -keypass 123456 -keyalg RSA -keysize 1024 -validity 365 -storetype PKCS12 -keystore client.p12 -storepass 123456

威尼斯国际官方网站 10

其次步余下操作步骤同第一步。

威尼斯国际官方网站 11

威尼斯国际官方网站 12

威尼斯国际官方网站 13

其三步:让服务器信赖顾客端证书

威尼斯国际官方网站 14

1、

威尼斯国际官方网站 15

出于不可能直接将PKCS12格式的证书库导入,

威尼斯国际官方网站 16

必需先把客商端证书导出为一个独立的CE宝马7系文件,使用如下命令:

威尼斯国际官方网站 17

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

3、检查装置结果

注意:

IE -> Internet选项 -> 内容 -> 证书

Keypass:内定CERAV4文件的密码,但会被忽略,而必要再度输入

威尼斯国际官方网站 18

2、

五、配置Tomcat服务器

将该公文导入到服务器的证书库,加多为一个信赖证书:

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" 
      maxThreads="150" scheme="https" secure="true" 
      clientAuth="false" sslProtocol="TLS" 
      keystoreFile="D:\tomcat.keystore" keystorePass="888888" 
      truststoreFile="D:\tomcat.keystore" truststorePass="888888" /> 

keytool -import -v -file D:/keys/client.cer -keystore D:/keys/tomcat.keystor

潜心服务端证书名保持一致

e -storepass 123456

质量表明:

图例:

  1. clientAuth:设置是或不是双向验证,默感到false,设置为true代表双向验证
  2. keystoreFile:服务器证书文件路径
  3. keystorePass:服务器证书密码
  4. truststoreFile:用来验证顾客端证书的根证书,此例中正是服务器证书
  5. truststorePass:根证书密码

威尼斯国际官方网站 19

六、测试

完了之后经过 list参数 查看服务器的证书库,

能够看看多少个证书,贰个是服务器证书,二个是受信任的客商端证书:

威尼斯国际官方网站 20

keytool -list -v -keystore tomcat.keystore

威尼斯国际官方网站 21 

第四步:让客商端信赖服务器证书

服务器的证书与网站不合乎难点亟需领悟浏览器做了什么样:

1、

1、浏览器将团结帮衬的生机勃勃套加密准则发送给网站。

鉴于是双向SSL认证,顾客端也要证实服务器证书,

2、网址从当中选出生龙活虎组加密算法与HASH算法,并将团结的身价音信以申明的样式发回给浏览器。证书里面蕴涵了网址地址,加密公钥,以至证件的发表机构等消息。

据此,必需把服务器证书加多到浏览器的“受信任的根证书颁发机构”。

3、得到网站证书之后浏览器要做以下工作:

由于无法直接将keystore格式的证书库导入,

      a卡塔尔国  验证证书的合法性(颁发证书的机构是不是合法,证书中含有的网址地址是或不是与正在访谈的地址相像等),假诺表明受信任,则浏览器栏里面会呈现叁个小锁头,不然会付出证书不受信的提拔。 

必需先把服务器证书导出为一个独立的CELAND文件,使用如下命令:

     b卡塔尔国  若是申明受信任,或许是客商选择了不受信的评释,浏览器会生成风度翩翩串随机数的密码,并用注脚中提供的公钥加密。

keytool -keystore tomcat.keystore -export -alias tomcat -file server.cer

     c卡塔尔国  使用约定好的HASH总括握手新闻,并动用生成的私下数对消息实行加密,最终将事情发生从前生成的具备音信发送给网址。

2、

如上正是本文的全体内容,希望对我们的学习抱有助于,也希望我们多多指教脚本之家。

双击server.cer文件,依照提醒安装证书,

你可能感兴趣的小说:

  • 汤姆cat配置https并拜会http自动跳转至https

将证件填入到“受信任的根证书颁发机构”。

填入措施:

开垦浏览器   - 工具  -  internet选项-内容- 证书-把高级中学级证书颁发机构里的www.localhost.com(该名称即时您前边生成证书时填写的名字与姓氏卡塔尔证书导出来-再把导出来的证书导入  受信任的根颁发机构  就OK了。

本文由威尼斯国际官方网站发布于电脑知识,转载请注明出处:详解用Tomcat服务器配置https双向认证过程实战

关键词: