文档章节

Windows 环境 Tomcat 的 HTTPS 单向认证和双向认证的配置

小杨阿哥哥
 小杨阿哥哥
发布于 2017/03/15 12:38
字数 710
阅读 29
收藏 0

单向认证,说的是浏览器验证服务器的真实性,双向认证是服务器也验证浏览器用户的真实性。 1、使用keytool生成keystore,命令如下:

keytool -genkey -alias fengyunhe -keyalg RSA -keystore fengyunhe.keystore -validity 3650

需要注意,填写的证书信息中名字于姓氏应该填写你的域名。 2、导出cert证书命令,因为是自签名的证书,不是CA颁发的所以浏览器会有警告,需要人工的安装证书到受信任的根证书颁发机构:

keytool -exportcert -alias fengyunhe -keystore fengyunhe.keystore -f fengyunhe.cer -v

3、打开tomcat的配置文件conf/server.xml,找到Connector对于HTTPS的配置,加入keystoreFile 和keystorePass属性。

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" 
               keystoreFile="conf/fengyunhe.keystore" 
               keystorePass="123456" 
             />

注意端口是8443,所以启动tomcat后,访问https://www.fengyunhe.com:8443/就可以发现出现浏览器对于没有认证证书的警告信息。我们安装cert证书到系统中,人工加入到可信任的根证书颁发机构中,就好了。   如果是双向的认证,则需要将浏览器端生成的证书导入到服务器端的密钥库中,也就是keystore文件中。并且在上面的xml配置中,需要开启对客户端的验证。clientAuth需要设置为true,另外增加truststoreFile="conf/test.keystore" 和truststorePass="123456"的密钥库到服务端的keysotre文件中。下面是具体的步骤: 1、生成p12密钥库

keytool -genkey -alias client -keyalg RSA -storetype PKCS12 -keystore client.key.p12

因为是客户端的证书,所以名字好与姓氏就不需要一定是域名了。 2、将生成的p12证书安装到浏览器中,windows下直接双击就可以了,保存的位置使用自己就可以了。会存在“个人”中。 3、从p12密钥库导出证书

keytool -export -keystore cleint.key.p12 -storetype PKCS12 -alias client -file client.key.cer

4、将证书导入到server端的密钥库信任链中

keytool -import -file client.key.cer -keystore fengyunhe.keystore

5、在tomcat的配置中开启客户端的认证,并设置信任库文件和密码。 clientAuth需要设置为true,另外增加truststoreFile="conf/test.keystore" 和truststorePass="123456" 重启tomcat,再次访问server 的https 地址后就可以看到效果了,在打开浏览器访问server的时候,就会弹出证书确认的窗口。  

tips:

本文由wp2Blog导入,原文链接:http://devonios.com/windows-tomcat-https.html

© 著作权归作者所有

小杨阿哥哥
粉丝 69
博文 482
码字总数 287109
作品 0
西安
后端工程师
私信 提问
Https tomcat7 SSL 证书配置

证书维度: 证书的单向和双向问题,单向认证只要求站点部署了ssl证书就行,任何用户都可以去访问(IP被限制除外等),只是服务端提供了身份认证。而双向认证则是需要是服务端需要客户端提供身...

逝去的回忆
2016/12/01
346
2
tomcat实现SSL配置(详细版)

Tomcat双向认证的问题这么多,贴一篇我总结的Tomcat双向认证方法 tomcat实现SSL配置 tomcat实现SSL配置 编辑tomcat的配置文件server.xml,去掉下面SSL Connector的注释,修改为如下: <!-- D...

被风遗忘
2012/03/16
683
0
(原创)tomcat实现SSL配置!

Tomcat双向认证的问题这么多,贴一篇我总结的Tomcat双向认证方法 tomcat实现SSL配置 tomcat实现SSL配置 编辑tomcat的配置文件server.xml,去掉下面SSL Connector的注释,修改为如下: ; port...

JavaGG
2009/05/06
1K
0
Https基础知识与开发过程中的常见坑点

一.http与https Http(HyperText Transfer Protocol 超文本传输协议),是互联网上使用最广泛的一种协议,所有WWW文件必须遵循的标准。HTTP协议传输的数据都是未加密的,也就是明文的,因此使用...

数齐
2018/06/23
0
0
你想要了解但是却羞于发问的有关SSL的一切

你想要了解但是却羞于发问的有关SSL的一切 或者更准确的说,“我所知的关于的SSL的实事”。本文(以及Spring Boot应用指南)将告诉你在一些通用服务(web服务器、浏览器认证、单元和集成测试)...

drkaka
2016/01/11
7.9K
17

没有更多内容

加载失败,请刷新页面

加载更多

用 Sphinx 搭建博客时,如何自定义插件?

之前有不少同学看过我的个人博客(http://python-online.cn),也根据我写的教程完成了自己个人站点的搭建。 点此:使用 Python 30分钟 教你快速搭建一个博客 为防有的同学不清楚 Sphinx ,这...

王炳明
昨天
3
0
黑客之道-40本书籍助你快速入门黑客技术免费下载

场景 黑客是一个中文词语,皆源自英文hacker,随着灰鸽子的出现,灰鸽子成为了很多假借黑客名义控制他人电脑的黑客技术,于是出现了“骇客”与"黑客"分家。2012年电影频道节目中心出品的电影...

badaoliumang
昨天
12
0
很遗憾,没有一篇文章能讲清楚线程的生命周期!

(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本。 简介 大家都知道线程是有生命周期,但是彤哥可以认真负责地告诉你网上几乎没有一篇文章讲得是完全正确的。 ...

彤哥读源码
昨天
13
0
jquery--DOM操作基础

本文转载于:专业的前端网站➭jquery--DOM操作基础 元素的访问 元素属性操作 获取:attr(name);$("#my").attr("src"); 设置:attr(name,value);$("#myImg").attr("src","images/1.jpg"); ......

前端老手
昨天
6
0
Django的ChoiceField和MultipleChoiceField错误提示,选择一个有效的选项

在表单验证时提示错误:选择一个有效的选项 例如有这样一个表单: class ProductForm(Form): category = fields.MultipleChoiceField( widget=widgets.SelectMultiple(), ...

编程老陆
昨天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部