tomcat 配置Tomcat的HTTPS

1创建证书

啰嗦几句:证书是单点登录认证系统中很重要的一把钥匙,客户端于服务器的交互安全靠的就是证书;本教程由于是演示所以就自己用JDK自带的keytool工具生成证书;如果以后真正在产品环境中使用肯定要去证书提供商去购买。

tomcat 完美配置Tomcat的HTTPS

记住 cmd一定要用管理员运行

第一步:用JDK自带的keytool工具生成证书:

cmd命令:

keytool -genkey -alias wsria -keyalg RSA -keystore d:/keys/chlkey

您的名字与姓氏这里写域名或者lcoalhost

tomcat 完美配置Tomcat的HTTPS

然后配置tomcat的server.xml

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"

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

clientAuth="false" sslProtocol="TLS" keystorefile="D:keyschlkey" keystorepass="changeit"/>

此时启动tomcat会报错 如下 发生的原因是 即使配置了 keystorefile ,C盘下也还需要一个 .keystore 文件

严重: 

Failed to load keystore type JKS with path C:UsersHONGLINCHEN/.keystore

due to Illegal character in opaque part at index 2: C:UsersHONGLINCHEN/.keystore

java.lang.IllegalArgumentException: Illegal character in opaque part at index 2:

C:UsersHONGLINCHEN/.keystore

解觉错误 看第二步

第二步:

cmd命令 keytool -genkey -alias wsria -keyalg RSA

wsria 是上一个命令中的别名

如要输入密码:输入: 

changeit

剩下的就填填就好了(有建议说名子和姓氏不要用 IP ,要用域名),完成后 C:Documents and SettingsAdministrator 下面就会生成

.keystore 文件。

此时 已经可以访问了 不过请继续往下面看:

tomcat 完美配置Tomcat的HTTPS

第三步、导出crt证书

keytool -export -file d:/keys/chl.crt -alias wsria -keystore d:/keys/chlkey


tomcat 完美配置Tomcat的HTTPS

特别提示:如果提示:

keytool error: java.io.IOException: Keystore was tampered with, or password was incorrect

那么请输入密码:changeit

至此导出证书完成,可以分发给应用的JDK使用了

第四步为客户端的JVM导入证书(其实不导入这个也可以,只要上面1,2步就可以https访问) 这一步一定要用管理员cmd运行 否则会报错 拒绝访问 因为jdk在c盘

导入jdk 库中 

keytool -import -keystore "C:Program FilesJavajdk1.8.0_131jrelibsecuritycacerts" -file D:/keys/chl.crt -alias wsria

注意jdk的位置 是jdk下面的jre 下面的lib 后面wsria是刚刚第一步起的别名 成功如下


tomcat 完美配置Tomcat的HTTPS

然后就是不需要了 就可以删除这个证书了 删除命令是:

删除证书 

keytool -delete -alias wsria -keystore "C:Program FilesJavajdk1.8.0_131jrelibsecuritycacerts" -storepass changeit

changeit是上面设置的密码

tomcat启用SSL 443端口是默认端口 访问不用带端口号类似于https://www.sincerain.com/

如果用的是8443则需要这样https://www.sincerain.com:8443

如果tomcat设置是443启动报443端口已被占用,可以查找进程

netstat -ano 列出所有端口情况。

netstat -aon|findstr "443" 查看443端口。

找到443端口对应的应用程序pid为15964


然后

tasklist|findstr "15964"

taskkill /f /t /im VisualSVNServer.exe 杀掉重启tomcat就可以了


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值