WEB服务器上配置HTTPS环境(单向认证)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
WEB服务器上配置HTTPS环境
---单向认证
[实践目的及内容]
利用Java的数据证书管理工具Keytool生成服务器端的数字证书,以便采用HTTPS访问web应用时提供单向认证(一般是客户端验证服务器端的身份)时需要的服务器证书。Keytool 工具将密钥(key)和证书(certificates)存在一个称为keystore的文件中。在keystore里,包含两种数据:
(1)密钥实体(Key entity)——通常是私钥和配对公钥(采用非对称加密)
(2)可信任的证书实体(trusted certificate entries)——只包含公钥
[实践步骤]
(1)进入到jdk下的bin目录
(2)输入如下指令“keytool -v -genkey -alias tomcat -keyalg RSA -keystore
d:/tomcat.keystore”
d:/tomcat.keystore是将生成的tomcat.keystore放到d盘根目录下。注意若要放到c盘,在win7系统下,需要以管理员身份进入到命令行中进行操作,否则是无法创建tomcat.keystore的。本例放到d盘下。
如何以管理员身份进入到命令行下呢?开始->搜索框中输入cmd->等待(注意不回车)->出现cmd.exe->右键“以管理员身份运行”即可。
解释:
keytool -genkey:自动使用默认的算法生成公钥和私钥
-alias[名称]:给证书取个别名
-keyalg:制定密钥的算法,如果需要制定密钥的长度,可以再加上keysize参数,密钥长度默认为1024位,使用DSA算法时,密钥长度必须在512到1024之间,并且是64的整数倍
-keystore:参数可以指定密钥库的名称。密钥库其实是存放密钥和证书文件,密钥库对应的文件如果不存在会自动创建。
-validity:证书的有效日期,默认是90天
-keypass changeit:不添加证书密码
-storepass changeit:不添加存储证书的密码
输入相关信息后,最后确认,便会在tomcat根目录下生成server.key文件。
(3)输入keystore密码
密码任意,此处以123456为例,要记住这个密码,之后在进行server.xml配置时需要使用。(4)输入名字、组织单位、组织、市、省、国家等信息
(5)输入之后会出现确认的提示
此时输入y,并回车。此时创建完成keystore。
进入到D盘根目录下可以看到已经生成的tomcat.keystore
(6)输入tomcat的主密码
可以直接回车,默认为同keystore的密码一样。
之后,会显示正在存储即完成。
(7)进入tomcat文件夹
找到conf目录下的sever.xml并进行编辑
将所有以 (8)在sever.xml中添加服务器的keystore所在的路径,并将clientAuth设置为false,只进行单向认证。 注意方框中的keystore的密码,就是刚才我们设置的“123456”. 编辑完成后关闭并保存sever.xml。 (9)启动tomcat。 若出现如下错误“Keystore was tampered with,or password was incorrect”,即第(8)步设的密码出错了。请核对密码,重新编写sever.xml。 (10)启动成功后,使用https://127.0.0.1:8443 访问页面 页面成功打开即tomcat下的https配置成功。 (11)如需要应用程序HTTP自动跳转到HTTPS,配置信息如下: 在应用程序中web.xml中加入: