Tomcat服务器配置https认证(使用keytool生成证书)
一、证书生成
1、生成服务器证书
(1)打开打开命令控制台,进入jdk的bin目录
cd D:\Program Files\jdk1.6.0_45\bin
(2)keytool为Tomcat生成证书(“-validity 36500”证书有效期,36500表示100年,默认值是90天)
keytool -genkey -v -alias tomcat -keyalg RSA -keystore E:\tomcat.keystore -validity 36500

2、生成客户端证书
keytool -genkey -v -alias mykey -keyalg RSA -storetype PKCS12 -keystore E:\mykey.p12

3、让服务器信任客户端证书
(1)由于不能直接将PKCS12格式的证书库导入,必须先把客户端证书导出为一个单独的CER文件,使用如下命令:
keytool -export -alias mykey -keystore E:\mykey.p12 -storetype PKCS12 -storepass 123456 -rfc -file E:\mykey.cer
(2)将该文件导入到服务器的证书库,添加为一个信任证书使用命令如下:
keytool -import -v -file E:\mykey.cer –keystore E:\tomcat.keystore
(3)通过 list 命令查看服务器的证书库,可以看到两个证书,一个是服务器证书,一个是受信任的客户端证书:
keytool -list -keystore E:\tomcat.keystore

4、让客户端信任服务器证书
把服务器证书导出为一个单独的CER文件提供给客户端,使用如下命令:
keytool -keystore E:\tomcat.keystore -export -alias tomcat -file E:\tomcat.cer
5、经过上面操作,生成如下证书:

其中 tomcat.cer 提供给客户端,tomcat.keystore供服务器使用
二、证书使用
1、服务器tomcat的配置
(1)打开Tomcat根目录下的/conf/server.xml,找到Connector port="8443"配置段,修改为如下:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="E:/tomcat.keystore" keystorePass="123456" truststoreFile="E:/tomcat.keystore" truststorePass="123456" />
注释掉
<!--<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />-->
(2)测试服务端,IE浏览器输入访问地址

但由于是自签名的证书,所以浏览器会警告我们不安全,选择继续:

可以看到能成功访问了(地址栏“证书错误”,此时数据已经是使用HTTPS传输了)
2、导入服务器公钥证书(tomcat.cer)
由于是自签名的证书,为避免每次都提示不安全。这里双击tomcat.cer安装服务器证书。
注意:将证书填入到“受信任的根证书颁发机构”

再次重新访问服务器,会发现没有不安全的提示了,同时浏览器地址栏上也有个“锁”图标。

至此,就完成了配置。
注:由于jdk自带的keytool生成的签名属于弱签名算法(SHA-1),但是,SHA-1已经过时因而不再推荐使用。新证书使用了更强的签名算法(比如SHA-256)。SHA-1的证书将从2017开始不再被主流浏览器厂商视为安全的。
Tomcat服务器配置https认证(使用keytool生成证书)的更多相关文章
- java ssl https 连接详解 生成证书 tomcat keystone
java ssl https 连接详解 生成证书 我们先来了解一下什么理HTTPS 1. HTTPS概念 1)简介 HTTPS(全称:Hypertext Transfer Protocol over ...
- java ssl https 连接详解 生成证书
我们先来了解一下什么理HTTPS 1. HTTPS概念 1)简介 HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全 ...
- Tomcat服务器配置https双向认证(使用keytool生成证书)
一,HTTPS原理 1,HTTP.HTTPS.SSL.TLS介绍与相互关系 (1)HTTP:平时浏览网页时候使用的一种协议.HTTP协议传输的数据都是未加密的(明文),因此使用HTTP协议传输隐私 ...
- tomcat7+jdk的keytool生成证书 配置https
目前只会使用jdk的keytool来生成证书.本文仅介绍这种方法. 1Windows下: 1.1 生成keystore文件及导出证书 打开控制台: 运行: %JAVA_HOME%\bin\keytoo ...
- 原 用Tomcat服务器配置https双向认证过程实战
什么是https? 百度百科足够解释它:http://baike.baidu.com/view/14121.htm 工具:keytool (Windows下路径:%JAVA_HOME%/bin/key ...
- keytool生成证书与Tomcat SSL配置
转自:http://tomhat.iteye.com/blog/2087673 一.Keytool介绍 Keytool是一个Java数据证书的管理工具.Keytool将密钥(key)和证书(certi ...
- Tomcat服务器配置https协议(Tomcat HTTPS/SSL 配置)
通常商用服务器使用https协议需要申请SSL证书,证书都是收费的,价格有贵的有便宜的.它们的区别是发行证书的机构不同,贵的证书机构更权威,证书被浏览器否决的几率更小. 非商业版本可以通过keytoo ...
- Keytool生成证书
一.生成证书keytool -genkey -alias 别名 -keyalg RSA -keysize 1024(密钥位数) -keypass 密码 -validity 365(默认90天) -ke ...
- 使用jdk中keytool生成证书
-genkey 在用户主目录中创建一个默认文件".keystore",还会产生一个mykey的别名,mykey中包含用户的公钥.私钥和证书 -alias 产生别名 -keystor ...
随机推荐
- [ActionScript 3.0] SharedObject的用法简介
package com.models { import flash.net.SharedObject; /** * @author * @E-mail * @create 2015-6-12 下午2: ...
- HTML中特殊字符
HTML中的字符详解 特殊符号 命名实体 十进制编码 特殊符号 命名实体 十进制编码 ! ! " " " # # $ $ % % & & & ' ...
- 使用vue+webpack从零搭建项目
vue到现在已经成为一个热门的框架,在项目实践当中,如果想要创建一个新项目,通常都会使用vue-cli的脚手架工具,毋容置疑能够方便很多,很多东西也不需要自己亲自去配置.都知道,脚手架其实是vue结合 ...
- js实现checkbox全选,全部选和反选效果
效果: 源码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...
- IDEA 直接点击运行执行正常,命令行下面执行Jar包出现部分乱码的情况。
解决方案如上: 有个Springboot项目为了测试方便,模型类用中文作为字段属性,封装成Odata格式,在通过Springboot发布并打成jar包. 通过命令行启动jar包里面的Springweb ...
- Nginx反向代理与负载简单实现
反向代理 1.proxy_pass 通过反向代理把请求转发到百度 2.proxy_pass 既可以是ip地址,也可以是域名,同时还可以指定端口 3.proxy_pass 指定的地址携带了URI,如果前 ...
- Vue项目 注释模板
此内容只适用于vscode 1.打开项目->按快捷键->ctrl+shift+p 2.选择红线选中的内容 ,如果是中文版看如下图片 如果是英文版看如下图 3.就开始进行配置 大家根据这张图 ...
- [CH3803] 扑克牌 (期望DP+记忆化搜索)
[题目链接] [CH3803] 扑克牌 [题面描述] \(54\)张牌,每次随机摸一张,求得到 A张黑桃 B张红桃 C张梅花 D张方块 的期望步数.特别地,大王和小王可以当做任意一种花色,当然,会选择 ...
- 【算法笔记】B1051 复数乘法
题目链接:https://pintia.cn/problem-sets/994805260223102976/problems/994805274496319488 思路: 难点在于对复数其他形式的认 ...
- 转 rman 恢复报错
###sample 1 原因是新库起了FRA 区,FRA 区的旧文件属于之前的归档日志文件产生,这样会导致无法识别的问题. 解决办法,清空FRA或者恢复时候不启用FRA. RMAN RESTORE ...