Tomcat服务器配置https认证(使用keytool生成证书)

 更新时间:2022年07月27日 15:29:19   作者:King~Kang  
本文主要介绍了Tomcat服务器配置https认证,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一、证书生成

1 、生成服务器证书

(1)打开打开命令控制台,进入jdk的bin目录

(2)keytool为Tomcat生成证书(“-validity 36500”证书有效期,36500表示100年,默认值是90天)

keytool -genkey -v -alias tomcat -keyalg RSA -keystore C:\MyFile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\tomcat.keystore -validity 36500

注意:名字与姓氏,unknown:填的东西可能和tomcat启动时访问的域名有关系,

2 、生成客户端证书

keytool -genkey -v -alias mykey -keyalg RSA -storetype PKCS12 -keystore C:\MyFile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\mykey.p12

3 、 让服务器信任客户端证书

(1)由于不能直接将PKCS12格式的证书库导入,必须先把客户端证书导出为一个单独的CER文件,使用如下命令:

keytool -export -alias mykey -keystore C:\MyFile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\mykey.p12 -storetype PKCS12 -storepass 111111 -rfc -file C:\MyFile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\mykey.cer

(2)将该文件导入到服务器的证书库,添加为一个信任证书使用命令如下:

keytool -import -v -file C:\MyFile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\mykey.cer –keystore C:\MyFile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\tomcat.keystore

(3)通过 list 命令查看服务器的证书库,可以看到两个证书,一个是服务器证书,一个是受信任的客户端证书:

keytool -list -keystore C:\MyFile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\tomcat.keystore 

4 、让客户端信任服务器证书

把服务器证书导出为一个单独的CER文件提供给客户端,使用如下命令:

keytool -keystore C:\MyFile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\tomcat.keystore -export -alias tomcat -file C:\MyFile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\tomcat.cer

5 、 经过上面操作,生成如下证书:

其中 tomcat.cer 提供给客户端,tomcat.keystore供服务器使用

二、证书使用

1 、 服务器tomcat的配置

(1)打开Tomcat根目录下的/conf/server.xml,找到Connector port="8443"配置段,修改为如下:

注释掉

(2)测试服务端,IE浏览器输入访问地址

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

可以看到能成功访问了(地址栏“证书错误”,此时数据已经是使用HTTPS传输了)

2 、 导入服务器公钥证书(tomcat.cer)

由于是自签名的证书,为避免每次都提示不安全。这里双击tomcat.cer安装服务器证书。

注意:将证书填入到“受信任的根证书颁发机构”

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VAHvygUo-1624849780965)(C:\Users\KingKang\AppData\Roaming\Typora\typora-user-images\image-20210327152900031.jpg)]

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Otd6gMWO-1624849780966)(C:\Users\KingKang\AppData\Roaming\Typora\typora-user-images\image-20210327152910441.jpg)]

至此,就完成了配置。

:由于jdk自带的keytool生成的签名属于弱签名算法(SHA-1),但是,SHA-1已经过时因而不再推荐使用。新证书使用了更强的签名算法(比如SHA-256)。SHA-1的证书将从2017开始不再被主流浏览器厂商视为安全的。

最后: 通过cmd,将签名文件从**【***.keystore】文件转换成【***.p12】的文件,再转换成【*.jks】:

先将路劲切换至jre下的bin文件夹下,再通过命令查询,命令如下:

keytool -importkeystore -srckeystore 【绝对路径+*.keystore】 -srcstoretype JKS -deststoretype PKCS12 -destkeystore 【*.p12】

keytool -v -importkeystore -srckeystore 【绝对路径+*.p12】 -srcstoretype PKCS12 -destkeystore 【绝对路径+*.jks】 -deststoretype JKS

p12 证书提取pem证书和私钥

openssl pkcs12 -in server.p12 -clcerts -nokeys -password pass:111111 -out server.crt
openssl pkcs12 -in server.p12  -nocerts -password pass:111111 -passout pass:111111 -out server.key
penssl pkcs12 -in server.p12 -nocerts -password pass:111111 -passout pass:111111 -out server.key

 到此这篇关于Tomcat服务器配置https认证(使用keytool生成证书)的文章就介绍到这了,更多相关Tomcat配置https认证内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 解析Tomcat架构原理到架构设计

    解析Tomcat架构原理到架构设计

    一般学习的时候也是先总览一下整体,然后逐个部分个个击破,最后形成思路,了解具体细节,Tomcat的结构很复杂,但是Tomcat非常的模块化,找到了Tomcat最核心的模块,问题才可以游刃而解,了解了Tomcat的整体架构对以后深入了解Tomcat来说至关重要
    2021-06-06
  • nginx和tomcat访问图片和静态页面的配置方法

    nginx和tomcat访问图片和静态页面的配置方法

    这篇文章主要介绍了nginx和tomcat访问图片和静态页面的配置方法,需要的朋友可以参考下
    2018-04-04
  • 解决tomcat在Debug模式下无法启动问题

    解决tomcat在Debug模式下无法启动问题

    这篇文章主要介绍了解决tomcat在Debug模式下无法启动问题,运行环境在eclipse,JDK1.6,tomcat6.0上,具体问题解决方法大家参考下本文
    2018-02-02
  • Mac下安装tomcat的教程详解

    Mac下安装tomcat的教程详解

    这篇文章主要介绍了Mac下安装tomcat的教程详解,需要的朋友可以参考下
    2017-10-10
  • 详解Tomcat Web 应用绑定域名的几种方式

    详解Tomcat Web 应用绑定域名的几种方式

    本篇文章主要介绍了详解Tomcat Web 应用绑定域名的几种方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • Tomcat 中如何给 web 项目配置虚拟目录的方法

    Tomcat 中如何给 web 项目配置虚拟目录的方法

    本篇文章主要介绍了Tomcat 中如何给 web 项目配置虚拟目录的方法,具有一定的参考价值,有兴趣的可以了解一下
    2017-08-08
  • 如何将tomcat源码以maven方式运行

    如何将tomcat源码以maven方式运行

    这篇文章主要介绍了如何将tomcat源码以maven方式运行,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • Tomcat日志自动分割的三种方法

    Tomcat日志自动分割的三种方法

    本文主要介绍了Tomcat日志自动分割的三种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • Jenkins+tomcat自动发布的热部署/重启及遇到的问题解决办法(推荐)

    Jenkins+tomcat自动发布的热部署/重启及遇到的问题解决办法(推荐)

    这篇文章主要介绍了Jenkins+tomcat自动发布的热部署/重启及遇到的问题解决办法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • Tomcat 7通过设置不同的端口部署两个项目

    Tomcat 7通过设置不同的端口部署两个项目

    最近因为有个Web项目,需要部署两个相同项目到Tomcat中,第二个是拷贝第一个的,使用的项目是使用SpringMVC框架的,尝试了几种方法,这篇文章给大家总结一个比较靠谱的方法,有需要的朋友们可以参考借鉴,下面来一起看看吧。
    2016-10-10

最新评论