首先用jdk自带的工具keytool生成一个"服务器证书"。
C:/Program Files/Java/jre1.5.0_04/bin> keytool -genkey -alias safetomcat -keyalg RSA -keystore c:/leadsec -validity 2000
输入keystore密码: leadsec
您的名字与姓氏是什么?
[Unknown]: 10.50.10.188
您的组织单位名称是什么?
[Unknown]: Lenovo
您的组织名称是什么?
[Unknown]: Lenovo
您所在的城市或区域名称是什么?
[Unknown]: Beijing
您所在的州或省份名称是什么?
[Unknown]: Beijing
该单位的两字母国家代码是什么
[Unknown]: CN
CN=10.50.10.188, OU= Lenovo, O= Lenovo, L=Beijing, ST=Beijing, C=CN
正确吗?
[否]: y
输入< safetomcat >的主密码
(如果和 keystore 密码相同,按回车):
经过上述操作后,获得文件c:/Leadsec。
注意:
提示名字和姓氏时,应输入服务器的DNS域名或者IP地址,否则,客户端会弹出警告窗口。"站点不符"
另外,因为是自签名的证书,客户端会弹出“非信任的机构颁发”,这时可以点击“继续”,或者安装该证书,确认自己的信任。
建立服务器证书
2. 配置Tomcat
找到tomcat的server配置文件,位置是Tomcat 5.5/conf/server.xml。
修改server.xml文件中增加类似这样的语句:
<Connector className="org.apache.coyote.tomcat5.CoyoteConnector"
port="8888" minProcessors="5" maxProcessors="75"
enableLookups="true" disableUploadTimeout="true"
acceptCount="100" debug="0" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreFile="C:/leadsec" keystorePass="leadsec" />
注意:
端口可以自行设置,但不能和已有的设置冲突。一般默认为8443。
keystoreFile和keystorePass必须与上一步建立的证书一致。
配置tomcat的server.xml
3. Https访问
重启Tomcat,访问https://localhost:8888/。
通过Https访问tomcat
(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->右键“以管理员身份运行”即可。
(3)输入keystore密码
密码任意,此处以123456为例,要记住这个密码,之后在进行server.xml配置时需要使用。
(4)输入名字、组织单位、组织、市、省、国家等信息
(5)输入之后会出现确认的提示
此时输入y,并回车。此时创建完成keystore。
进入到D盘根目录下可以看到已经生成的tomcat.xml
(6)输入tomcat的主密码
可以直接回车,默认为同keystore的密码一样。
之后,会显示正在存储即完成。
(7)进入tomcat文件夹
找到conf目录下的sever.xml并进行编辑
将所有以<Connector port="8443" 开头的connector注释。
(8)在sever.xml中添加加载keystore的代码
注意方框中的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配置成功。