tomcat配置https,单方验证,并自动将http请求转成https
第一次写博客,希望大家多多支持。如有觉得不对的请大家指正,本博客写来只为自己方便查找。
使用jdk中自带的keytool生成数字证书。
第一步:生成密钥文件
在这之前,让我们看看keytool的帮助吧
通过win+R输入cmd,然后输入以下命令
keytool -genkey -help,就会出现如下:
D:\>keytool -genkey -help
keytool -genkeypair [OPTION]...
生成密钥对
选项:
-alias <alias> 要处理的条目的别名
-keyalg <keyalg> 密钥算法名称
-keysize <keysize> 密钥位大小
-sigalg <sigalg> 签名算法名称
-destalias <destalias> 目标别名
-dname <dname> 唯一判别名
-startdate <startdate> 证书有效期开始日期/时间
-ext <value> X.509 扩展
-validity <valDays> 有效天数
-keypass <arg> 密钥口令
-keystore <keystore> 密钥库名称
-storepass <arg> 密钥库口令
-storetype <storetype> 密钥库类型
-providername <providername> 提供方名称
-providerclass <providerclass> 提供方类名
-providerarg <arg> 提供方参数
-providerpath <pathlist> 提供方类路径
-v 详细输出
-protected 通过受保护的机制的口令
使用 "keytool -help" 获取所有可用命令
这里生成密钥
keytool -genkey -alias alias -keyalg RSA -keysize 2048 -keypass 123456 -validity 36600 -keystore E:\key\m.jks -storepass 123456
这里的各个参数就对应上面的帮助吧,就不一一介绍了。
输入上面命令就会出现如下信息:
您的名字与姓氏是什么?
[Unknown]: 这里输入你的ip,若是服务器的话,就输入域名,后面的信息就随便输入即可
您的组织单位名称是什么?
[Unknown]:
您的组织名称是什么?
[Unknown]:
您所在的城市或区域名称是什么?
[Unknown]:
您所在的省/市/自治区名称是什么?
[Unknown]:
该单位的双字母国家/地区代码是什么?
[Unknown]:
CN=172.168.11.188, OU=x, O=x, L=x, ST=x, C=x是否正确?
[否]: y 这里输入值是让你确认你上面的信息是否正确,若不正确,除了y的其他都可以。输入之后就会重复上面的操作。
执行完成之后就可以在e盘下面的key文件夹下生成一个密钥m.jks
第二步:导出证书
命令:keytool -export -alias alias -keystore E:\key\m.jks -file E:\key\m.crt -storepass 123456
执行后会出现如下提示:存储在文件 <E:\key\m.crt> 中的证书
在这里就可以看到导出的证书m.crt
第三步:客户端导入证书
命令:
keytool -import -keystore %JAVA_HOME%\jre\lib\security\cacerts -file E:\key\m.crt -alias alias
执行后
输入密钥库口令: 这里输入的口令必须是changeit; 输入完成后就会出现如下信息,若%JAVA_HOME%\jre\lib\security\目录下没有cacerts,还要再输入一次changeit;
所有者: CN=172.168.11.188, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown
发布者: CN=172.168.11.188, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown
序列号: 402163bd
有效期开始日期: Fri Feb 24 16:53:06 CST 2017, 截止日期: Tue May 11 16:53:06 CST 2117
证书指纹:
MD5: A8:ED:C3:13:24:F5:D9:7E:E1:AF:B0:BB:B4:8C:EA:EA
SHA1: 6B:69:79:1A:B0:AD:46:E2:98:74:FF:79:22:E6:A4:7B:7F:4E:9D:19
SHA256: B3:23:F5:DD:6E:42:A4:14:CF:6A:9D:83:43:7A:9E:FA:B1:69:24:E5:15:DD:A5:97:BB:94:A5:A9:29:8D:2D:BE
签名算法名称: SHA256withRSA
版本: 3
扩展:
#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 62 42 1F 16 B0 5C 94 77 BF 34 D3 C5 62 D3 D0 CB bB...\.w.4..b...
0010: CE A1 94 D1 ....
]
]
是否信任此证书? [否]: y 输入y即可
证书已添加到密钥库中
第四步:
找到tomcat目录下的conf文件下的server.xml;
找到
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
在这个后面加入
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="200"
SSLEnabled="true"
scheme="https"
secure="true"
clientAuth="false"
sslProtocol="TLS"
keystoreFile="E:\key\m.jks" 这里是你生成密钥的路径
keystorePass="123456" 这里是你生成密钥时的密码
keyAlias="alias" 这里是你设置的别名(记得保持一致)
keystoreType="JKS" />
到这里就配置完了,然后启动tomcat,输入https://您的名字与姓氏:8443/就会出现如下界面
点击继续浏览此网站就会出现tomcat首页
接下来配置http自动转为https:
1.<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="200"
SSLEnabled="true"
scheme="https"
secure="true"
clientAuth="false"
sslProtocol="TLS"
keystoreFile="E:\key\selfissue.jks"
keystorePass="123654"
keyAlias="selfissue"
keystoreType="JKS" />
修改为
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="200"
SSLEnabled="true"
scheme="https"
secure="true"
clientAuth="false"
sslProtocol="TLS"
keystoreFile="E:\key\selfissue.jks"
keystorePass="123654"
keyAlias="selfissue"
keystoreType="JKS" />
2.将<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
修改为<Connector port="8009" protocol="AJP/1.3" redirectPort="443" />
3.<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
修改为
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" />
4.你apache中的/conf/web.xml,在该文件</web-app>前面面加上这样一段:
<login-config>
<!-- Authorization setting for SSL -->
<auth-method>CLIENT-CERT</auth-method>
<realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<security-constraint>
<!-- Authorization setting for SSL -->
<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>
回车出现如下界面
转载于:https://www.cnblogs.com/x10835/p/6439484.html
tomcat配置https,单方验证,并自动将http请求转成https相关推荐
- Tomcat配置443端口验证微信
1. 用cd命令进入tomcat目录,比如: # cd /usr/local/apache-tomcat-7.0.68 2. 查看系统名称,# hostname 3. 输入以下命令来设置密钥 ...
- https 是什么意思?怎么把http改成https?
http叫超文本传输协议,使用TCP端口80,默认情况下数据是明文传送的,数据可以通过抓包工具捕获到,因此在interner上,有些比较重要的站点的http服务器需要使用PKI(公钥基础结构)技术来对 ...
- Linux/Centos Tomcat 配置日志切分以及脚本自动清理
Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache,Sun和其他一些公司及个人共同开发而成.由于有了Sun ...
- SpringBoot Tomcat 配置https 且443端口也是https(若依为例对接微信小程序的https,小程序也可以访问)
1 服务器去下载免费的证书(选在tomcat jks版本的) 2 将下载的证书移动到resources目录下 3 改写yml配置文件 9898 为https 对应的端口 key-store中 ...
- linux:Nginx+https双向验证(数字安全证书)
本文由邓亚运提供 Nginx+https双向验证 说明: 要想实现nginx的https,nginx必须启用http_ssl模块:在编译时加上--with-http_ssl_module参数就ok.另 ...
- tomcat配置重定向_在Tomcat上配置SSL以及从HTTP到HTTPS的设置自动重定向的步骤
tomcat配置重定向 Secured Socket Layer (SSL) is the cryptography protocol to provide message security over ...
- Tomcat配置https方式访问
1.准备安全证书 获得安全证书有两种方式:一种方式是到权威机构申购CA证书,还有一种方式是创建自我签名的证书.本文以自签名证书为例,使用SUN公司提供的证书制作工具keytool制作自签证书,JDK版 ...
- Tomcat配置HTTPS方式生成安全证书
在Tomcat 中配置SSL双向认证是相当容易的,本文将介绍如何使用JDK的keytool来为Tomcat配置双向SSL认证.并实现批量生成证书 系统需求:JDK 1.8 Tomcat 7.0.76 ...
- Tomcat配置https方式访问__001
1.准备安全证书 获得安全证书有两种方式:一种方式是到权威机构申购CA证书,还有一种方式是创建自我签名的证书.本文以自签名证书为例,使用SUN公司提供的证书制作工具keytool制作自签证书,JDK版 ...
最新文章
- 查看已安装tensorflow版本
- ActiveMQ—Queue与Topic区别
- python查看微信撤回消息_想查看微信好友撤回的消息?Python帮你搞定
- linux salt命令 -e,linux 下 Salt 命令的疑难杂症
- python3初学者注意事项
- 开机启动脚本/etc/init.d/rcS
- java.util 找不到_java.util.MissingResourceException:找不到基本名...
- 锁分区提升并发,以及锁等待实例
- 模态对话框与非模态对话的几种销毁方法与区别
- 怎样将Embedding融入传统机器学习框架?
- Bootstrap 弹出提示插件Popover 的方法
- UC 国际信息流推荐中的多语言内容理解
- php登录注册案例,php实现登陆与注册的案例
- 在Eclipse中使用JUnit4进行单元测试(上)
- 大一计算机理论总结,大一计算机理论基础总结论文.doc
- linux u盘 修复工具,在Linux终端中修复U盘驱动器问题
- 商品归类查询服务_喜报 | 东泽国际获批进出口商品归类服务单位资质
- 数据获取以及处理Beta版本展示
- 如何将图片转换成JPG图片格式?如何将照片转换为jpg?
- python--编写程序:实现乐手弹奏乐器,乐手可以弹奏不同的乐器而发出不同的声音------使用类的封装继承多态的问题/使用面向对象的思想,设计自定义类,描述出租车和家用轿车的信息