首页 > 代码库 > tomcat搭建https服务

tomcat搭建https服务

1、生成服务器站点证书

1)  生成密钥仓库

进入jdk的bin目录,如:D:\jdk1.6.0_16\bin

执行:

D:\jdk1.6.0_16\bin\keytool -genkey -v -alias tomcat -keyalg RSA -keystore D:\server.keystore -validity 36500

(参数简要说明:“D:\server.keystore”含义是将证书仓库文件的保存路径,证书仓库文件名称是server.keystore ;“-validity 36500”含义是证书有效期,36500表示100年,默认值是90天 “tomcat”为自定义证书名称,默认与仓库文件名一致)

在命令行填写必要参数:

  • 输入keystore密码:此处需要输入大于6个字符的字符串(如:123456)。
  • “您的名字与姓氏是什么?”这是必填项,并且必须是TOMCAT部署主机的域名或者IP,否则浏览器会弹出警告窗口,提示用户证书与所在域不匹配。在本地做开发测试时,应填入“localhost”。
  • 你的组织单位名称是什么?”、“您的组织名称是什么?”、“您所在城市或区域名称是什么?”、“您所在的州或者省份名称是什么?”、“该单位的两字母国家 代码是什么?”可以按照需要填写也可以不填写直接回车,在系统询问“正确吗?”时,对照输入信息,如果符合要求则使用键盘输入字母“y”,否则输入“n” 重新填写上面的信息。
  • 输入<tomcat>的主密码,这项较为重要,会在tomcat配置文件中使用,建议输入与keystore的密码一致,设置其它密码也可以,完成上述输入后,直接回车则在你在第二步中定义的位置找到生成的文件。

2)         生成证书签名请求

执行:

D:\jdk1.6.0_16\bin\keytool -certreq -alias tomcat -keystore d:\server.keystore -file d:\tomcat.txt

(也可以不导出签名请求,则服务器证书是一个自签名的证书,如果不导出签名请求,3)、4)、5)不需要操作)

3)         对证书签名请求进行签名

将生成的tomcat.txt证书签名请求发给CA服务器,生成tomcat.cer

4)         导入CA证书到keystore

执行:

D:\jdk1.6.0_16\bin\keytool -import -v -alias ca -file d:\CTJ.cer -keystore d:\server.keystore

按提示输入keystore密码,即可导入成功(可使用keytool -list查看)

5)         导入CA签名后的证书

把3)中生成的tomcat.cer放到指定路径

执行:

D:\jdk1.6.0_16\bin\keytool -import -v -trustcacerts -alias tomcat -file d:\tomcat.cer -keystore d:\server.keystore

 

2、  颁发客户端证书(双向认证时需要)

1)       使用CA服务器颁发客户端证书(client.pfx)

2)       导入客户端证书到本地IE中

双击client.pfx,按步骤安装客户端证书

3)       导入CA证书到本地IE中

按步骤安装CA证书

4)       将该CA证书导入到1步骤的keystore中

 

3、配置tomcat服务器

1)  进入tomcat\conf\目录,打开server.xml,找到Connector port="8443"配置段,修改为如下:

<Connector port="8443" protocol="HTTP/1.1"

SSLEnabled="true" maxThreads="150" scheme="https"

secure="true" clientAuth="true" sslProtocol="TLS"        

  keystoreFile="D:/server.keystore" keystorePass="123456"

truststoreFile="D:/server.keystore" truststorePass="123456"/>

  如果是单向认证,则设置clientAuth = "false"。

2)  找到Connector port="8080"配置段,修改为如下:

<Connector port="80" protocol="HTTP/1.1"

connectionTimeout="20000" redirectPort="8443" />

  (重定向端口号)

https服务配置完毕。

个人总结,如有描述不准确的地方,望指教。

tomcat搭建https服务