windows和linux下配置tomcat的https通信(ssl单向认证)

windows环境下:

1、首先用jdk带的工具生成证书库

打开cmd命令行窗口,cd 到tomcat安装目录的bin下面执行

keytool -v -genkey -alias tomcat -keyalg RSA -keystore d:/tomcat.keystore  -validity 365

附:d:/tomcat.keystore是将生成的tomcat.keystore放到d盘根目录下。”-validity 365”含义是证书有效期,默认值是90天(注意若要放到c盘,在win7系统下,需要以管理员身份进入到命令行中进行操作,否则是无法创建tomcat.keystore的。)

提示输入密钥库密码,如输入123456,配置tomcat的server.xml的时候要用到,从证书库中导出证书的时候也要用到。

注意: 输入名称时(What is your first and last name?)必须是TOMCAT部署主机的域名或者IP[如:gbcom.com 或者 10.1.25.251],就                  是你将来要在浏览器中输入的访问地址,其他输入项可以不填。

           输入之后会出现确认的提示,此时输入y,并回车。此时创建完成keystore。 

2 、修改 tomcat 配置

打开%TOMCAT_HOME%/conf/server.xml中

<Connector port=”8443″ protocol=”HTTP/1.1″ SSLEnabled=”true” maxThreads=”150″ scheme=”https” secure=”true”clientAuth=”false” keystoreFile=”D:/tomcat.keystore” keystorePass=”123456″ sslProtocol=”TLS” />的注释,设置keystone的路径和密码keystoreFile=”D:/tomcat.keystore” keystorePass=”123456″。如果是tomcat7需要将将protocol=”HTTP/1.1″改成protocol=” org.apache.coyote.http11.Http11Protocol”,(Tomcat提供了两个SSL实现,一个是JSSE实现,另一个是APR实现,6.0默认使用JSSE实现,而7.0默认使用APR实现,本文中的采用的是jsse的实现)

3 、启动 tomcat 验证 https 协议是否配置成功

浏览器输入 https://localhost:8443 出现tomcat的小猫界面及访问成功。(当然如果你删除了webapps下面的默认站点就肯     定是空白的了)可以看到此时的网站是不受信任的

4 、导出证书文件并导入到浏览器中

在tomcat的bin目录下面执行:

keytool -export -alias tomcat -file D:/file.cer -keystore d:/tomcat.keystore -validity 365

输入刚才设置的证书库密码就可以导出证书文件。

双击file.cer文件即可将证书导入到受信任的根证书颁发机构位置上,也可运行certmgr.msc进入win的证书管理界面执行导入证书。

导入证书后访问就可以看到网站受信任了。此时完成了tomcathttps通信的配置。浏览器与网站间的信息传输就通过了https协议进行传输了,传输信息进行了加密。

附:配置http重定向到https。在应用程序中web.xml中加入:

<security-constraint>

<web-resource-collection >

<web-resource-name >SSL</web-resource-name>

<url-pattern>/*</url-pattern>

</web-resource-collection>

<user-data-constraint>

<transport-guarantee>CONFIDENTIAL</transport-guarantee>

</user-data-constraint>

</security-constraint>

这样当浏览器通过http协议访问应用时就会跳转到https协议的端口也就是这句配置的作用redirectPort=”8443″。


linux环境下:

1.生成证书、导出证书、配置tomcat server.xml、配置在应用程序中web.xml同windows环境下相同的操作。

2.将证书添加到 linux 证书信任列表

相关证书转换参见:http://netkiller.github.io/cryptography/openssl/format.html

步骤1、#转换格式 .cer 到 .pem

openssl x509 -inform der -in twca.cer  -out twca.pem
 
步骤2、#追加到信任列表

cat twca.pem >> /etc/pki/tls/certs/ca-bundle.crt




文章参考:

http://www.blogjava.net/stevenjohn/archive/2012/09/26/388600.html
http://www.2cto.com/os/201506/408625.html
http://www.tuicool.com/articles/Qj6J7jF

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值