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

Tomcat配置-学习笔记5---https加密连接器

2017-12-08 00:00 316 查看
浏览器与服务器交互时,浏览器需要将数据加密后再发送给服务器;
服务器首先要向浏览器出示一份数字证书,浏览器看到数字证书后,就可以使用数字证书里面的公钥加密数据;
所以要想做浏览器和服务器的加密数据传输,那么首先得针对服务器生成一份数字证书;
然后再配置一下服务器,让服务器收到浏览器的请求之后,会向浏览器出示它的数字证书。

数字证书生成:
SUN公司提供了制作证书的工具keytool,它的位置为<JAVA_HOME>\bin\keytool.exe

命令: keytool -genkey -alias tomcat -keyalg RSA
使用keytool生成一个名字为tomcat的证书,存放在.keystore这个密钥库中

C:\Users\mengzhang6>keytool -genkey -alias tomcat -keyalg RSA
输入密钥库口令:
再次输入新口令:
您的名字与姓氏是什么?
[Unknown]: zhangmeng
您的组织单位名称是什么?
[Unknown]: ***
您的组织名称是什么?
[Unknown]: pay
您所在的城市或区域名称是什么?
[Unknown]: hangzhou
您所在的省/市/自治区名称是什么?
[Unknown]: zhejiang
该单位的双字母国家/地区代码是什么?
[Unknown]: china
CN=zhangmeng, OU=***, O=pay, L=hangzhou, ST=zhejiang, C=china是否正确?
[否]: y

输入 <tomcat> 的密钥口令
(如果和密钥库口令相同, 按回车):
再次输入新口令:

命令执行完之后,操作系统的用户文件夹下面就会生成一个.keystore文件

命令: keytool -list -keystore .keystore
查看.keystore密钥库里面的所有证书

C:\Users\mengzhang6>keytool -list -keystore .keystore
输入密钥库口令:

密钥库类型: JKS
密钥库提供方: SUN

您的密钥库包含 1 个条目

tomcat, 2017-12-8, PrivateKeyEntry,
证书指纹 (SHA1): EA:1B:0F:9C:EC:BD:******:39:9B:80:46:E1:5B:3C:43:34

将生成的.keystore密钥库文件拷贝到Tomcat服务器的conf目录下

在server.xml文件中配置了一个端口是8443的加密连接器,
浏览器访问8443端口的连接器时,将会以加密的方式来访问web服务器,
这个连接器收到浏览器的请求后,将会向浏览器出示一份数字证书,浏览器再用数字证书里面的公钥来加密数据
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="conf/.keystore" keystorePass="Aa123456"/>

keystoreFile="conf/.keystore" 用来指明密钥库文件的所在路径
服务器从密钥库中提取证书时需要密码,keystorePass="123456"指明密钥库的访问密码

使用"https://localhost:8443/"访问8443的加密连接器

由于密钥库里面的证书是我们手工生成的,没有经过CA的认证,
所以使用"https://localhost:8443/"访问8443的加密连接器,浏览器会出现"证书错误,导航已阻止",
浏览器认为当前要访问的这个主机是不安全的,不推荐继续访问,
点击"继续浏览此网站"就可以继续访问了

为了让浏览器信任我们生成的数字证书,需要将数字证书安装到浏览器中
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: