历史版本2 :Tomcat配置SSL证书实现HTTPS访问 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 创建证书编辑

证书是单点登录认证系统中很重要的一把钥匙,客户端于服务器的交互安全靠的就是证书;本教程由于是演示所以就自己用JDK自带的keytool工具生成证书;如果以后真正在产品环境中使用肯定要去证书提供商去购买,证书认证一般都是由VeriSign认证。
用JDK自带的keytool工具生成证书:
单击开始 -> 运行输入cmd,单击“确定”启动命令提示符窗口。
输入cd "c:\Program Files\Java\jre7\bin"进入jre7的bin目录下。
执行命令
keytool -genkey -alias tomcat-server -keyalg RSA -keypass changeit -storepass changeit -keystore server.keystore   
创建证书。如下图:
注:您的名字与姓氏,这里不能输入IP地址,只能输入域名
注:您的名字与姓氏,我输入的是susie,其实这个域名是不存在的,但是这里为了演示所以虚拟了这个域名,所以需要在hosts文件里映射一个虚拟域名,设置方式如下
这样在访问susie的时候其实是访问的127.0.0.1也就是本机

2. 导出证书编辑

执行命令
keytool -export -alias tomcat-server -storepass changeit -file server.cer -keystore server.keystore   
将证书导出。

3. 将证书导入到JDK证书信任库编辑

执行命令
keytool -import -trustcacerts -alias server -file server.cer -keystore cacerts -storepass changeit  
系统询问是否信任此证书,回答“y”。

4. 应用证书到Web服务器编辑

配置server.xml文件,以管理员身份运行文字编辑器,打开%TOMCAT_HOME%\conf\server.xml。查找SSL配置并将如下内容插入其中。
<!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->       <Connector port="8443"                   maxThreads="150" minSpareThreads="25" maxSpareThreads="75"                  enableLookups="false" disableUploadTimeout="true"                  acceptCount="100" debug="0" scheme="https" secure="true"                  clientAuth="false" sslProtocol="TLS"                   keystoreFile="/server.keystore" keystorePass="changeit"/>  
重启Tomcat服务,打开https://susie:8443/,如下图:

如果看到上面的界面,说明Tomcat的SSL配置成功。