Tomcat配置自签名https
从JDK中找到keytool.exe,随便复制到一个方便的目录,在命令行中进入这个目录。
第一步:为服务器生成证书 tomcat.keystore,命令中如果是IP方式访问用-ext SAN=ip:192.168.18.83,如果是域名用 -ext SAN=dns:www.123.com,注意“您的名字与姓氏是什么?”就是你的IP或域名,其他的看着写。
keytool -genkey -v -alias tomcat -keyalg RSA -ext SAN=ip:192.168.18.83 -validity 36500 -keystore tomcat.keystore
第二步:为客户端生成证书,双向认证时需要客户端安装该证书,等待第四步成功后将该证书添加到“个人”区域。
keytool -genkey -v -alias mykey -keyalg RSA -validity 36500 -storetype PKCS12 -keystore client.p12
第三步:将p12文件导出为一个cer文件,因为不能直接将PKCS12格式的证书库导入服务端证书(tomcat.keystore)。123456为密码
keytool -export -alias mykey -keystore client.p12 -storetype PKCS12 -storepass 123456 -rfc -file client.cer
第四步:让服务器信任客户端证书。
keytool -import -v -file client.cer -keystore tomcat.keystore
第五步:查看服务器的证书库。(一个是服务器证书,一个是受信任的客户端证书),可以省略。
keytool -list -keystore tomcat.keystore
第六步:把服务器证书导出为cer文件,然后将该证书添加到“受信任的根证书颁发机构”区域。
keytool -keystore tomcat.keystore -export -alias tomcat -file server.cer
操作完成,在tomcat的server.xml中配置方法如下: 单向认证时需将clientAuth="false",双向时设置为clientAuth="true",https的默认端口为443,所以port="443",当然也可以设置为其他的。
protocol由之前的HTTP/1.1改成了org.apache.coyote.http11.Http11Protocol。
另外,赠送cer转keystone命令,注意设置正确的别名:keytool -import -file C:\https\192.168.18.83\server.cer -keystore C:\https\192.168.18.83\tomcat.keystore -alias tomcat。
<Connector port="443"
protocol="org.apache.coyote.http11.Http11Protocol"
SSLEnabled="true"
maxThreads="150"
URIEncoding="utf-8"
scheme="https"
secure="true"
clientAuth="true"
sslProtocol="TLS"
keystoreFile="c:/keystore/tomcat.keystore"
keystorePass="123456"
truststoreFile="c:/keystore/tomcat.keystore"
truststorePass="123456"
/>
注意:
将 server.cer 导入到浏览器“受信任的根证书颁发机构”区域,这样是为了让浏览器信任服务器。
将 client.p12 导入到浏览器“个人”区域,这样是为了让服务器信任浏览器,访问时会提示选择这个证书。
另外还可以通过openssl来生成相关证书,还有在iis上的配置等,稍后奉上。
有图有真相

红色是变更的部分,在2019年3月13日下午重新编辑博客
从此解决chrome提示"您的连接不是私密连接" ERR_CERT_AUTHORITY_INVALID 的问题。
有图有真相

Tomcat配置自签名https的更多相关文章
- tomcat 配置自签名ssl证书
背景:据说17年苹果app必须走https协议与后台交互了,网上各种搜索最后还是发现有2篇写的比较全面,折腾后总结出2种实现方式.在这里记录,方便有共同需求的同学们参考 本文只介绍生成自签名ssl证书 ...
- linux下tomcat配置APR方式HTTPS
一.安装APR 创建/usr/local/apr tar zxvf apr-1.4.5.tar.gz cd apr-1.4.5 ./configure --prefix=/usr/local/apr/ ...
- Springboot 配置 ssl 实现HTTPS 请求 & Tomcat配置SSL支持https请求
SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议.TLS与 ...
- nginx配置自签名https
nginx配置https是需要CA颁发证书的,为了测试方便,我们可以使用自签名证书 1.如何生成自签名证书 1.1:我们需要为服务端和客户端准备私钥和公钥: //生成服务器端私钥 openssl ge ...
- Nginx和Tomcat配置SSL实现https访问
环境:CentOS 7 Nginx版本: nginx/1.18.0 1. 安装nginx 详细步骤可以参考如下官网:http://nginx.org/en/linux_packages.html#RH ...
- Tomcat配置并启用HTTPS
参考文献:http://www.cnblogs.com/xdp-gacl/p/3744053.html#blogTitle2 概述:用sun公司提供的keytool(位置为<JAVA_HOME& ...
- 用tomcat配置https自签名证书,解决 ios7.1以上系统, 苹果inHouse发布
用tomcat配置https自签名证书,解决 ios7.1以上系统苹果inHouse发布不能下载安装的问题教程,话说,我其实最讨厌配置某某环境了,因为某一个小环节一旦出错,你的所有工作往往会功亏一篑, ...
- tomcat配置https | 自签发证书配置
未配置证书的访问:
- Tomcat配置https之 JDK SSL证书生成与验证
关于证书 SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道(Secure socket layer(SSL),安全协议是由Netscape Communication公司设计开发. ...
随机推荐
- Java中面向对象三大特性之——封装
概述 面向对象编程语言是对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作和修改. 封装可以被认为是一个保护屏障,防止该类的代码和数据被其他类随意访问.要访问该类的数据,必须通 ...
- javascript (BOM DOM)
BOM对象 window对象 所有浏览器都支持 window 对象.概念上讲.一个html文档对应一个window对象.功能上讲: 控制浏览器窗口的.使用上讲: window对象不需要创建对象,直接使 ...
- springboot版本控制
HandlerMapping通过继承InitializingBean接口在完成实例后,扫描所有的Controller和标识RequestMapping的方法,缓存这个映射对应关系.然后在应用运行的时候 ...
- DAO DTO VO BO
DAO叫数据访问对象DTO是数据传输对象DAO通常是将非对象数据(如关系数据库中的数据)以对象的方式操纵.DTO通常用于不同层(UI层.服务层或者域模型层)直接的数据传输,以隔离不同层,降低层间耦合 ...
- C语言基础 (9) 数组指针
复习 只要把地址拿到就能这么操作.. (这里是合法的地址,不是野指针) 只有定义变量后,此变量的地址才是合法的地址 野指针就是保存没有意义地址的指针变量 操作野指针变量本身不会有任何问题 操作野指针所 ...
- BZOJ 1901 Dynamic Rankings (整体二分+树状数组)
题目大意:略 洛谷传送门 这道题在洛谷上数据比较强 貌似这个题比较常见的写法是树状数组套主席树,动态修改 我写的是整体二分 一开始的序列全都视为插入 对于修改操作,把它拆分成插入和删除两个操作 像$C ...
- P3375 【模板】KMP字符串匹配 (KMP模板)
题目描述 如题,给出两个字符串s1和s2,其中s2为s1的子串,求出s2在s1中所有出现的位置. 为了减少骗分的情况,接下来还要输出子串的前缀数组next. (如果你不知道这是什么意思也不要问,去百度 ...
- Ubuntu环境搭建svn服务器
记录一次使用Ubuntu环境搭建svn服务器的详细步骤 一.查看是否已经安装svn 命令:svn如果显示以下信息,说明已安装 二.卸载已安装的svn 命令:sudo apt-get remove ...
- vue v-for下图片src显示失败,404错误
- 出现$ref的原因及解决方案
$ref的产生原因 (1)重复引用:一个集合/对象中的多个元素/属性都引用了同一个对象 (2)循环引用:集合/对象中的多个元素/属性在相互引用导致循环 针对fastjson的处理 fastjson作为 ...