以下是关于本地配置ssl,在使用真正的ssl证书之前,可以使用这种方式试试水。
1、使用java自带的的keytool工具来生成.keystore文件
keytool -genkey -alias tomcat -keyalg RSA
2、系统会提示输入密码,这里随意输入一个,并且记住
3、之后会有一系列的提示(我是在windows下执行的)
[root@localhost ~]# keytool -genkey -alias tomcat -keyalg RSA
输入密钥库口令:
再次输入新口令:
您的名字与姓氏是什么?
[Unknown]: wang dalang
您的组织单位名称是什么?
[Unknown]: home
您的组织名称是什么?
[Unknown]: home
您所在的城市或区域名称是什么?
[Unknown]: home
您所在的省/市/自治区名称是什么?
[Unknown]: home
该单位的双字母国家/地区代码是什么?
[Unknown]: CN
CN=wang xingchao, OU=home, O=home, L=home, ST=home, C=CN是否正确?
[否]: y
输入 <tomcat> 的密钥口令
(如果和密钥库口令相同, 按回车):
最后一步,输入tomcat的密钥口令直接回车就行了
4、这个时候,当前的目录会产生一个.keystore文件
5、修改tomcat中server.xml文件,放掉注释添加两个属性
keystoreFile=”/path/.keystore” keystorePass=”password”
路径是存放.keystore的路径,密码就是刚刚生成的时候写的密码
改后是这样
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreFile="/root/.keystore" keystorePass="password" />
这里要注意,端口号为8443,这样要访问的url就是
https://localhost:8443/
如果不想使用端口号,就可以在配置文件里将port改为443即可
下面是结果
6. 安装tomcat的证书在浏览器中
这里浏览器显示证书错误, 有红色警告
在浏览器中右击选择属性, 查看不到证书
在这里我为了能导出证书, 在tomcat的根目录下新建了一个hello.html的页面
下面可以访问到
将证书导出来
下面就下一步就行
我将证书导出到了桌面上,
得到了一个cer的证书文件
下面打开浏览器的Internet选项 ----> 内容 ----> 证书
选择"受信任的根证书颁发机构" ----> 导入证书
将生成的证书导入进来
其余的步骤直接下一步即可
重启浏览器,发现------没有红色警告了!!!
搞定!!!