tomcat配置https(自签发)
young / / / 阅读量

环境

JDK是jdk1.8
系统centos6.5

生成密钥

第一步:我们切换到jdk的bin目录下运行keytool生成证书和一对秘钥

[root@test1 bin]# ./keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore /root/https.keystore
输入密钥库口令:  
再次输入新口令: 
您的名字与姓氏是什么?
[Unknown]: test1.com
您的组织单位名称是什么?
[Unknown]: test1.com
您的组织名称是什么?
[Unknown]: test1.com
您所在的城市或区域名称是什么?
[Unknown]: CD
您所在的省/市/自治区名称是什么?
[Unknown]: SC
该单位的双字母国家/地区代码是什么?
[Unknown]: CN
CN=test1.com, OU=test1.com, O=test1.com, L=CD, ST=SC, C=CN是否正确?
[否]: y
输入tomcat的密钥口令
    (如果和密钥库口令相同, 按回车):  

Warning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore /root/https.keystore -destkeystore /root/https.keystore -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。

[root@test1 bin]# keytool -importkeystore -srckeystore /root/https.keystore -destkeystore /root/https.keystore -deststoretype pkcs12
输入源密钥库口令:  
已成功导入别名 tomcat 的条目。
已完成导入命令: 1 个条目成功导入, 0 个条目失败或取消

Warning:
已将 "/root/https.keystore" 迁移到 Non JKS/JCEKS。将 JKS 密钥库作为 "/root/https.keystore.old" 进行了备份。

注意:您的名字与姓氏的填写:这里可以填写域名,要是填写域名,需要修改本机配置把域名和本机ip绑定

配置tomcat

修改tomcat的conf目录下的server.xml
找到下面这块代码


修改为:


Connector标签中的属性说明:

clientAuth:设置是否双向验证,默认为false,设置为true代表双向验证
keystoreFile:服务器证书文件路径
keystorePass:服务器证书密

测试

通过浏览器访问https://localhost/或者通过ip访问

补充:

1、http自动跳转https的安全配置:
到conf目录下的web.xml。在 后面, 之前,也就是倒数第二段里,加上这样一段:




CLIENT-CERT
Client Cert Users-only Area




SSL
/*


CONFIDENTIAL


CONFIDENTIAL: 要保证服务器和客户端之间传输的数据不能够被修改,且不能被第三方查看到
INTEGRAL: 要保证服务器和client之间传输的数据不能够被修改
NONE: 指示容器必须能够在任一的连接上提供数据。(即用HTTP或HTTPS,由客户端来决定)

这步目的是让非ssl的connector跳转到ssl的connector去。所以还需要前往server.xml进行配置:



redirectPort改成ssl的connector的端口443,重启tomcat后便会生效。

支付宝捐赠
请使用支付宝扫一扫进行捐赠
微信捐赠
请使用微信扫一扫进行赞赏
有 0 篇文章