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

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

一、为劳动器生成证书澳门凯旋门游戏网址

C:\Windows\system32>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:\Windows\system32>

“D:\tomcat.keystore”含义是将证书文件的保存路线,证书文件名称是tomcat.keystore(可自定义名称);

“-validity 36500”含义是注明限制期限,36500代表100年,暗许值是90天;

二、为客户端生成证书

1、生成客户端证书

C:\Windows\system32>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:\Windows\system32>

改动的八个文件:

澳门凯旋门游戏网址 1

2、安装客户端证书

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

澳门凯旋门游戏网址 2

澳门凯旋门游戏网址 3

澳门凯旋门游戏网址 4

澳门凯旋门游戏网址 5

澳门凯旋门游戏网址 6

澳门凯旋门游戏网址 7澳门凯旋门注册网址

澳门凯旋门游戏网址 8

三、让服务器信任客户端证书

1、将客户端证书导出为CE福特Explorer文件

出于是双向SSL认证,服务器必须求相信客户端证书,由此,必须把客户端证书增多为服务器的相信认证。因不能直接将PKCS12格式的证书库导入服务器证书库,将客户端证书导出为四个单身的CE奔驰G级文件

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

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

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

C:\Windows\system32>

2、将CE奥迪Q3文件导入到服务器的证书库

增加为三个相信证书应用命令如下:

C:\Windows\system32>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:\Windows\system32>

3、检查装置结果

意思是注脚限期。透过list命令查看服务器的证书库,能够看出三个评释,四个是服务器证书,二个是受注重的客户端证书:

keytool -list -keystore D:\tomcat.keystore
(tomcat为您设置服务器端的证书名)。

C:\Windows\system32>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:\Windows\system32>

四、让客户端信任服务器证书

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

由于是双向SSL认证,客户端也要证实服务器证书,因而,必须把服务器证书增多到浏览的“受依赖的根证书颁发机构”。由于无法平昔将keystore格式的证书库导入,必须先把服务器证书导出为贰个单身的CEENVISION文件,使用如下命令:

keytool -keystore D:\home\tomcat.keystore -export -alias tomcat -file
D:\home\意思是注脚限期。tomcat.cer (tomcat为你设置服务器端的证书名)。

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

C:\Windows\system32>

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

双击“tomcat.cer”,依照提醒安装证书,将表明填入到“受依赖的根证书颁发机构”。

澳门凯旋门游戏网址 9

澳门凯旋门游戏网址 10

澳门凯旋门游戏网址 11意思是注脚限期。

澳门凯旋门游戏网址 12

澳门凯旋门游戏网址 13

澳门凯旋门游戏网址 14

澳门凯旋门游戏网址 15

3、检查装置结果

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

澳门凯旋门游戏网址 16

五、配置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" /> 

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

质量表明:

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

六、测试

澳门凯旋门游戏网址 17

澳门凯旋门游戏网址 18 

服务器的注解与网站不适合难点亟待了然浏览器做了什么:

1、浏览器将自身扶助的一套加密准则发送给网址。

2、网址从中选出一组加密算法与HASH算法,并将团结的地点新闻以评释的款型发回给浏览器。证书里面包涵了网址地址,加密公钥,以及证件的发表机构等音信。

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

      a) 
验证证书的合法性(颁发证书的机关是不是合法,证书中带有的网址地址是不是与正在访问的地点同样等),要是申明受依赖,则浏览器栏里面会议及展览示二个小锁头,不然会提交证书不受信的提醒。 

     b) 
借使注解受注重,也许是用户接受了不受信的证件,浏览器会生成一串随机数的密码,并用证件中提供的公钥加密。

     c) 
使用约定好的HASH计算握手音讯,并选取生成的任性数对音讯举办加密,最终将事先生成的有着音讯发送给网址。

以上便是本文的全体内容,希望对大家的读书抱有帮忙,也期望大家多多支持脚本之家。

您可能感兴趣的文章:

  • 汤姆cat配置https并访问http自动跳转至https

相关文章