从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的更多相关文章

  1. tomcat 配置自签名ssl证书

    背景:据说17年苹果app必须走https协议与后台交互了,网上各种搜索最后还是发现有2篇写的比较全面,折腾后总结出2种实现方式.在这里记录,方便有共同需求的同学们参考 本文只介绍生成自签名ssl证书 ...

  2. 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/ ...

  3. Springboot 配置 ssl 实现HTTPS 请求 & Tomcat配置SSL支持https请求

    SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议.TLS与 ...

  4. nginx配置自签名https

    nginx配置https是需要CA颁发证书的,为了测试方便,我们可以使用自签名证书 1.如何生成自签名证书 1.1:我们需要为服务端和客户端准备私钥和公钥: //生成服务器端私钥 openssl ge ...

  5. Nginx和Tomcat配置SSL实现https访问

    环境:CentOS 7 Nginx版本: nginx/1.18.0 1. 安装nginx 详细步骤可以参考如下官网:http://nginx.org/en/linux_packages.html#RH ...

  6. Tomcat配置并启用HTTPS

    参考文献:http://www.cnblogs.com/xdp-gacl/p/3744053.html#blogTitle2 概述:用sun公司提供的keytool(位置为<JAVA_HOME& ...

  7. 用tomcat配置https自签名证书,解决 ios7.1以上系统, 苹果inHouse发布

    用tomcat配置https自签名证书,解决 ios7.1以上系统苹果inHouse发布不能下载安装的问题教程,话说,我其实最讨厌配置某某环境了,因为某一个小环节一旦出错,你的所有工作往往会功亏一篑, ...

  8. tomcat配置https | 自签发证书配置

    未配置证书的访问:

  9. Tomcat配置https之 JDK SSL证书生成与验证

    关于证书 SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道(Secure socket layer(SSL),安全协议是由Netscape Communication公司设计开发. ...

随机推荐

  1. 谷歌C++编程为何禁止缺省参数

    C++的缺省参数尽量不要使用,结果可能出乎我们的意料,下面的程序大家看看输出结果是多少? )                  cout << num << endl;     ...

  2. C++的Matlab接口

    与 原文 过程有些不同,根据具体环境自行配置即可! 转自于:http://blog.csdn.net/left_la/article/details/8206645 我的计算机环境是win7 64位系 ...

  3. css—各浏览器下的背景色渐变

    .linear{ width:100%; height:600px; FILTER: progid:DXImageTransform.Microsoft.Gradient(gradientType=0 ...

  4. 04--奠定MYSQL江湖地位的开发注意要点

    为不同的行业提供不同的MYSQL应用场景 吴炳锡老师谈到,不同行业的业务有不同的特点,选择好一个适合自己行业的MYSQL应用场景至关重要. 互联网行业 速度一直都是互联网发展的第一要义,互联网行业所使 ...

  5. MySQL主主高可用(keepalive)

    2台新的虚拟机172.16.1.1.172.16.1.2  (配置yum源 ) 安装数据库服务 其中 172.16.1.1.172.16.1.2运行数据库服务并设置数据库管理员从本机登录的密码是xzw ...

  6. BZOJ 3456: 城市规划 多项式求逆

    Description 刚刚解决完电力网络的问题, 阿狸又被领导的任务给难住了.  刚才说过, 阿狸的国家有n个城市, 现在国家需要在某些城市对之间建立一些贸易路线, 使得整个国家的任意两个城市都直接 ...

  7. 使用shell脚本定时执行备份mysql数据库

    使用shell脚本定时执行备份mysql数据库 #!/bin/bash ############### common file ################ #本机备份文件存放目录 MYSQLBA ...

  8. PuTTY_0.67.0.0工具链接linux

    1.虚拟机设置 在网络适配器中选中桥接模式,勾选复制物理网络链接状态(p)选项.点击确认. 2.开启虚拟机,检查是否安装有ssh服务器 a.查看是否启动ssh服务器 ps -a | grep ssh ...

  9. Spring框架的理解

    Spring 是一個开源的IOC和AOP容器框架! 具体描述为: 1.轻量级:Spring是非侵入性-基于Spring开发的应用中的对象可以不依赖API开发 2.依赖注入(DI---------dep ...

  10. Problem 2

    Problem 2 # Problem_2.py """ Each new term in the Fibonacci sequence is generated by ...