Tomcat配置Https证书,证书密码加密存储

作者 : 开心源码 本文共1098个字,预计阅读时间需要3分钟 发布时间: 2022-05-12 共179人阅读

一、Tomcat的Https配置

目前因为保证数据在传输时的安全性,大多数公司都使用了https证书。HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。

然而,Tomcat的Connector配置默认只支持明文。不支持证书密码使用密文存储,假如要实现密文存储就需要重写接口。

二、实现加密存储证书密码

1、Tomcat的Https配置如下:

Tomcat配置Https证书,证书密码加密存储

Https配置

  1. <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"

  2. SSLEnabled=”true” scheme=”https” secure=”true”

  3. keystoreFile=”D:\cert\214080970640194.pfx” keystoreType=”PKCS12″

  4. keystorePass=”214080970640194″

  5. clientAuth=”false” SSLProtocol=”TLSv1+TLSv1.1+TLSv1.2″

  6. ciphers=”TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256″/>

2、通过Tomcat中的Https配置可以看到,使用的接口是:

org.apache.coyote.http11.Http11Protocol

接下来我们就是要重写这个接口。代码如下:

Tomcat配置Https证书,证书密码加密存储

上述只是简单演示,没有实现解密这步,直接返回一个正确的密钥。

主要有2个方法:

1、getKeystorePass() 获取密文

2、setKeystorePass(password) 设置解密后密文

将上述代码打包,复制到tomcat的lib目录下,修改https配置的protocol类为

com.cgfbg.tomcat.tomcat_https.MyHttp11Protocol,启动tomcat。

为了演示效果,我们在配置tomcat的配置一个错误的证书密码,在代码直接返回正确密码:

Tomcat配置Https证书,证书密码加密存储

修改后的ps配置

tomcat启动日志如下:

Tomcat配置Https证书,证书密码加密存储

Tomcat配置Https证书,证书密码加密存储

启动成功

以上就是整个过程,有兴趣的小伙伴可以直接实现一下。

有任何看法或者意见,欢迎在评论区留言。

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Tomcat配置Https证书,证书密码加密存储

发表回复