tomcat配置https–采用JDK自带的keytool工具生成证书

转自:https://www.cnblogs.com/YangK-java/p/6434797.html

目前我们看到的很多网站采用的都是http协议,信息是明文传输的,很容易被黑客或是有恶意行为的人截获,所以对于安全系数比较高的系统(如:银行等)不能直接采用http协议,需要采用https协议。使用https协议需要购买ca认证,本示例我们采用jdk自带的keytool工具生成证书,但是实际项目中需要从证书提供商购买,这里只做测试。

一、生成证书

1、从命令行窗口进入到jdk安装目录下的bin中,再使用如下命令:

#注意将[your_save_certificate_path]替换成证书存放路径
keytool -genkey -alias tomcat -keyalg RSA -keystore [your_save_certificate_path]/tomcat.keystore

说明:-alias tomcat 是表示生成的这个证书的别名叫tomcat; -keyalg RSA 指的是采用的RSA算法;-keystore [your_save_path]/tomcat.keystore是指证书生成后保存到[your_save_path]/tomcat.keystore

2、将.store文件导入到证书中。即tomcat.keystore导入到tomcat.crt证书

#注意将[your_save_certificate_path]替换成上面证书生成路径
 keytool -export -file [your_save_certificate_path]/tomcat.crt -alias tomcat -keystore [your_save_certificate_path]/tomcat.keystore

3、将证书tomcat.crt导入到JVM中。即将tomcat.crt导入到lib/security/cacerts 这里会提示你输入密码等信息

# [your_jdk_path]即你本地jdk或者jre安装路径
keytool -import -keystore [your_jdk_path]/lib/security/cacerts -file [your_save_certificate_path]/tomcat.crt -alias tomcat

这里如果出现:keytool 错误: java.io.IOException: Keystore was tampered with, or password was incorrect报错,密码输入changeit即可

二、tomcat配置https

在tomcat下找到/conf/server.xml,默认tomcat是没有打开https的,找到如下代码:

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" />

打开注释,修改成:

#注意将[your_save_certificate_path]替换成证书存放路径
<Connector SSLEnabled="true" clientAuth="false" keystoreFile="[your_save_certificate_path]/tomcat.keystore" keystorePass="changeit" maxThreads="150" port="443" protocol="HTTP/1.1" scheme="https" secure="true" sslProtocol="TLS"/>

改成https的默认端口号:443(端口号根据实际填写,默认为443),keystoreFile证书所在位置,keystorePass证书密码

三、测试证书
https://www.test.com本来就是可以访问的域名,但是此例中我们用它测试证书,所以不能让他访问真实的服务器,我们应该让他访问到本机,只有这样我们安装到本地JVM的证书才有效,方法如下:

windows环境下:打开C:Windows\System32\drivers\etc\hosts,拉到最下面添加:

127.0.0.1 www.test.com

启动tomcat,输入:https://www.test.com,会提示你该网站的安全证书不受信任,这就是为什么让你到证书提供商购买的原因。至此,tomcat配置https完成。

删除证书的命令:

keytool -delete -alias tomcat -keystore [your_jdk_path]/security/cacerts -storepass changeit   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值