在Tomcat中混合密钥

tomcat配置https生成秘钥/证书 tomcat配置https 一、生成秘钥/证书 生成服务器证书(“-validity 36500”证书有效期,36500表示100年,默认值是90天) 注意:“名字与姓氏”应该是域名,输成了姓名,和真正运行的时候域名不符,会出问题 keytool -genkey -alias tomcat -keyalg RSA -keysize 2048 -validity 36500 -keystor... 阅读详情

通过优锐课核心java学习笔记中,我们可以看到,码了很多专业的相关知识, 分享给大家参考学习。

深入了解Tomcat,了解如何创建自签名RSA密钥,ECDSA密钥,以及如何通过多次保留验证Tomcat。

 

在上一篇博客文章中,我们研究了Tomcat 8.5+如何使用SNI将证书映射到请求的主机名。

Tomcat 8.5+可以更进一步,并为每个主机支持多种证书类型。 这对于在较旧的浏览器中支持RSA以及在兼容的浏览器中支持ECDSA最为有用。

在此博客文章中,我们将研究如何使用多种证书类型配置Tomcat。

创建自签名RSA密钥

要生成RSA私钥和自签名证书,请使用以下命令:

openssl req -x509 -newkey rsa:4096 -keyout rsa.key -out rsa.crt -days 365

 

创建自签名的ECDSA密钥

要创建ECDSA私钥,请使用以下命令:

openssl ecparam -genkey -out ecdsa.key -name prime256v1

 

名称参数是命令返回的列表中的一个:

openssl ecparam -list_curves

 

OpenSSL支持大量曲线,但是浏览器通常仅支持非常少量的曲线。 SSL实验室允许你测试浏览器对命名曲线的支持。 在下面的屏幕截图中,你可以看到Firefox 57支持的曲线:x25519,secp256r1,secp384r1,secp521r1。

secp256r1是OpenSSLprime256v1曲线。

然后使用以下命令从私钥创建证书:

openssl req -x509 -new -key ecdsa.key -out ecdsa.crt

 

使用多个键配置Tomcat

为了支持两种证书类型,可以将多个<Certificate>元素添加到<SSLHostConfig>元素中。 定义多个<Certificate>元素时,每个元素都必须具有唯一的类型属性。 RSA证书具有RSA类型,而ECDSA证书具有EC类型。

这是Tomcat server.xml配置文件的片段,其中包含使用上述OpenSSL命令创建的两个自签名证书和私钥。

<Connector SSLEnabled="true" port="62000" protocol="org.apache.coyote.http11.Http11AprProtocol">

    <SSLHostConfig>

        <Certificate certificateFile="${catalina.base}/conf/ecdsa.crt" certificateKeyFile="${catalina.base}/conf/ecdsa.key" type="EC"/>

        <Certificate certificateFile="${catalina.base}/conf/rsa.crt" certificateKeyFile="${catalina.base}/conf/rsa.key" type="RSA"/>

    </SSLHostConfig>

</Connector>

 

此代码段使用APR协议,该协议接受OpenSSL创建的PEM文件。 有关在Tomcat中启用APR的更多信息,请参见构建Apache可移植运行时。

验证配置

High-Tech Bridge提供了一项在线服务,用于验证Web服务器的安全性配置。

在此屏幕截图中,我们可以看到Tomcat服务器同时公开了RSA和ECDSA证书。

 

 

 

结论

Tomcat在为单个HTTPS端口同时支持RSA和ECDSA证书的能力方面非常独特。 这使Tomcat可以在不牺牲安全性的情况下向各种客户端提供HTTPS。 只需定义两个具有不同类型属性的<Connector>元素即可实现此配置。

> 喜欢这篇文章的可以点个赞,欢迎大家留言评论,记得关注我,每天持续更新技术干货、职场趣事、海量面试资料等等
 > 如果你对java技术很感兴趣也可以交流学习,共同学习进步。 
> 不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代

文章写道这里,欢迎完善交流。最后奉上近期整理出来的一套完整的java架构思维导图,分享给大家对照知识点参考学习。有更多JVM、Mysql、Tomcat、Spring Boot、Spring Cloud、Zookeeper、Kafka、RabbitMQ、RockerMQ、Redis、ELK、Git等Java干货

tomcat安全加固,配置https,keystore生成证书,证书密钥以加密方式配置 一、前言 前段时间,做了一个新项目。在项目打包时,将jdk和tomcat打包到版本包里了,还贴心的附上了在linux环境安装以及配置教程,结果被怼了。 一则是说不需要安装jdk,只需要安装jre,即可让项目跑起来。jdk是java开发工具,jre是java运行环境,jdk是包含jre的。安装过jdk的都知道,在安装jdk的过程中,还会单独让装一个jre的,其实这个地方的jre不用安装,因为jdk里面是包含jre的,在配置环境变量的时候,也通常不会去配置到单独安装的jre的,而是直接指到jdk下的jre。 一 阅读详情

相关推荐

对称密钥密码学攻防实战:从AES、DES到侧信道攻击与安全实践

对称密钥密码学是现代信息安全的基石,其核心原理是通信双方使用相同的密钥进行加密和解密操作。从古典密码到现代算法,其设计思想经历了从艺术到科学的演变,安全性依赖于密钥的保密性。在技术价值上,它提供了高效的数据保密性,支撑着从网络通信到数据存储的广泛应用。典型的对称密码算法包括DES、AES和流密码RC4与ChaCha20,它们各自在历史演进中体现了不同的设计哲学与安全考量。例如,DES因56位密钥长度不足而被淘汰,揭示了密钥长度需与计算威胁同步演进的重要性;而AES作为广泛采用的标准,其置换-置换网络结构和多

weixin_34332905的博客 445

Tomcat—HTTPS之生成密钥库文件与配置Tomcat服务器

随着电脑的普及,上网已经成为常态,我们打开浏览器输入网址就能查看到自己关注的信息,传统使用的是HTTP协议,但是这种协议存在很大的弊端,为了规避这样的缺陷,提高数据传输过程中的安全性,于是就推出了HTTPS协议,HTTPS协议如何实现数据安全传输的呢? 从上图看,加密从客户端出来就已经是密文数据了,当用户在任何网络链路上接入时,即使被监听,由于黑客截获的数据密...

gaohuanjie的专栏 7239

企业级数据安全实践:基于AES-256与密钥管理的字段级加密方案

数据加密是信息安全领域的核心基础技术,旨在通过密码学算法将明文信息转换为不可读的密文,确保数据在存储和传输过程中的机密性与完整性。其原理主要依赖对称加密(如AES)和非对称加密(如RSA)算法体系,结合密钥管理实现数据保护。在技术价值层面,加密不仅是满足合规要求的必要手段,更是企业构建数据安全防线、保护核心数字资产的关键工程实践。尤其在ERP、WMS等企业应用系统中,面对内部越权与外部攻击的双重威胁,实施字段级加密能有效防止敏感数据泄露。本文以仓库管理系统为具体场景,深入探讨如何通过AES-256-GCM算

anjueci1221的博客 406

终结者:HTTPS在Tomcat中的使用(三)——Java代码生成密钥库文件及其对应的安全证书

终结者:HTTPS在Tomcat中的使用(三)——Java代码生成密钥库文件及其对应的安全证书

gaohuanjie的专栏 2909

Ubuntu 20.04下用Nginx/Apache反向代理加固Tomcat 10

反向代理是Web安全架构中的基础模式,通过在应用服务器前部署Nginx或Apache等成熟Web服务器,实现TLS终止、请求过滤、速率限制与静态资源优化。其核心原理在于解耦网络层与应用层职责:由代理层统一处理加密传输、协议升级(如TLS 1.3/HTTP/2)、安全响应头(HSTS/X-Frame-Options)及OCSP装订,而Tomcat专注业务逻辑。该方案显著提升HTTPS并发能力、降低TLS握手延迟,并满足等保2.0对通信保密性与完整性的合规要求。本文聚焦Ubuntu 20.04环境,详解Ngin

weixin_30321709的博客 325

Java 领域:Tomcat 配置文件的加密与安全存储

Tomcat作为最流行的Java Web服务器之一,广泛应用于企业级应用部署。然而,其配置文件(如server.xml、context.xml、web.xml等)中经常包含数据库密码、API密钥等敏感信息,这些信息以明文形式存储存在严重的安全隐患。本文旨在提供一套完整的解决方案,帮助开发者实现Tomcat配置文件中敏感信息的加密存储,同时保证应用能够正常解密和使用这些信息。我们将覆盖从基础概念到高级实现的全方位内容,包括加密算法选择、密钥管理策略以及实际部署注意事项。背景介绍:阐述问题和目标。

AI开发架构师 910

C++ openssl ECDSA签名

1、Openssl库安装及交叉编译 下载openssl库,https://www.openssl.org/source/ 将库文件解压到本地文件后进行配置: a、config配置: 进入解压后的目录,执行 ./config shared --prefix=/usr/local/openssl --openssldir=/usr/local/ 其中 shared 为生成动态连...

arm89782的博客 1506

Tomcat SSL证书部署完整指南与实战配置

OpenSSL 是一个广泛使用的开放源代码软件库,提供了完整的密码学服务支持,包括对称加密、非对称加密、哈希算法、数字签名及SSL/TLS协议栈的实现。其命令行接口灵活高效,适用于服务器环境下的自动化脚本集成,是企业级安全运维不可或缺的核心工具之一。此流程已成为工业界事实标准,适用于所有需要Java Keystore的场景,如Spring Boot、WebLogic、JBoss等。

weixin_29009401的博客 1127

从零到HTTPS:手把手教你配置安全Cookie(含Tomcat实战)

本文详细指导如何从零开始配置HTTPS并实现安全Cookie,特别针对Tomcat服务器进行实战演示。内容包括SSL证书获取、Tomcat HTTPS配置、`setSecure(true)`的实际应用及常见问题排查,帮助开发者全面提升Web应用的安全性。

gpu4optimizer的博客 159

数据安全(RSA密钥加密解密签名、证书、tomcat)

RSA密钥 加密 解密 数字签名 数字证书 tomcat ssl https:里面有加密、解密、数字签名、验前,数字证书,已经tomcat配置https的方法!还保留部分收集到的资料。含源码

openSSL制作证书并在tomcat上配置

自己学习openSSL的一些总结,很初步,希望能够帮助到跟我一样刚刚开始接触openSSL的朋友,很浅显,我也是初学者,希望大家不要见笑。

混合架构下CAS单点登录HTTPS配置实战:Tomcat与Spring Boot双环境解决方案

HTTPS作为保障网络通信安全的基石,其核心原理是通过SSL/TLS协议在客户端与服务器之间建立加密通道,防止数据在传输过程中被窃听或篡改。在微服务与中台化架构中,单点登录(SSO)是实现统一身份认证的关键技术,而CAS(Central Authentication Service)作为广泛采用的企业级SSO解决方案,其安全性高度依赖于HTTPS,以确保认证票据等敏感信息的安全传输。然而,在由传统Tomcat应用与现代化Spring Boot微服务构成的混合技术栈中,HTTPS的配置面临显著挑战:Tomca

weixin_30553777的博客 403

cutlass2.x源码解读之PitchLinearStripminedThreadMap

TensorCoord:使用layout::PitchLinearCoord作为张量坐标。Shape:使用模板参数Shape_作为tile的形状,kThreads:线程总数,定义为模板参数Threads。kElementsPerAccess:每次访问的元素数,定义为模板参数ElementsPerAccess。ThreadAccessShape:线程访问的形状,使用layout::PitchLinearShape定义。内部实现细节:ShapeVec。

jiangjkd的专栏 789

Spring Boot高并发场景下RSA混合加密文件传输方案设计与优化

在数据安全传输领域,非对称加密与对称加密是两大核心技术基石。非对称加密通过公钥与私钥的配对,解决了密钥分发的根本难题,但其计算开销较大;对称加密则凭借高效性,适合处理大数据量。混合加密模式结合了两者优势,通常使用RSA等非对称算法加密临时生成的AES密钥,再用该AES密钥加密实际数据,从而在保障安全性的同时兼顾性能。这种方案在涉及敏感文件上传下载的系统中具有极高的技术价值,尤其适用于金融、政务等高安全要求场景。本文聚焦于高并发挑战,深入探讨了在Spring Boot框架中,如何通过对象池化、异步处理等工程实

342

刷题单向链表

实现一个数据结构,维护一张表(最初只有一个元素 11)。接下来 qq 行,每行表示一次操作,操作具体间题目描述。a[i] 里面放的是下一个元素,为0代表链表结束。如单链表1->4 -> 2->3->0用数组表示是。对于每个操作 2,输出一个数字,用换行隔开。第一行一个整数 qq 表示操作次数。

power的专栏 1714

keil5编程前的工程文件配置,芯片型号支持包配置,用户文件配置,启动文件配置和库函数配置-江科大stm32学习 第一天

1.start文件夹中头文件需要配置路径path,另外user和library也需要,都是同样的操作。如图,在option界面c/c++中,在倒数第二空行的三个点处添加。2.需要设置一个宏,作用是使主函数头文件包含标准库函数,操作如图:复制头文件中8296行的字符串,在option界面的c/c++中第一行define粘贴这个字符串即可。一、首先,下载芯片支持包,选择你自己的器件型号,不懂的可以看我这篇选器件的方法(默认已经注册好用户)点击编译按钮,编译成功后即可在user文件夹里添加main.c正常使用。

weixin_50682964的博客 1952

HTTPS密钥交换机制解析:RSA与ECDHE在JavaEE中的实战对比

密钥交换是网络安全通信的基石,它解决了在不安全信道上安全协商共享密钥的核心难题。其基本原理是允许通信双方通过公开交换信息,各自独立计算出相同的会话密钥,而中间人无法获知该密钥。这项技术的核心价值在于为后续的对称加密通信建立安全通道,是实现HTTPS、VPN、SSH等安全协议的关键环节。在Web开发、API通信、物联网设备认证等广泛的应用场景中,密钥交换机制的选择直接关系到通信的机密性、完整性和前向保密性。本文聚焦于HTTPS中最经典的两种密钥交换机制——RSA与ECDHE,深入剖析其工作原理、安全特性及性能

weixin_30383279的博客 375

提升仿真效率:Synopsys VCS高级编译选项优化技巧(2023最新版)

本文深入探讨了Synopsys VCS 2023版本中的高级编译选项优化技巧,帮助工程师提升仿真效率。通过并行编译、智能代码分析、精准覆盖率采样等策略,结合真实案例展示如何显著缩短仿真周期并优化资源使用,适用于数字芯片验证和大型SoC设计。

weixin_30338481的博客 114

为tomcat配置https

  这里我们使用是阿里云的云服务器ECS,使用的是阿里云的SSL证书来给服务器配置https。   https的默认端口是443。而我们也常常看见8443端口。其实二者的区别在于8443端口在访问时需要加端口号,相当于http的8080,不可通过域名直接访问。而443端口在访问时不需要加端口号,相当于http的80,可通过域名直接访问。   默认端口为443不代表着其他端口不能配置https。 有...

明月朗,潇水寒 2854

数字IC后端设计实现OCC(On-chip Clock Controller)电路介绍及时钟树综合案例

数字IC后端设计实现OCC(On-chip Clock Controller)电路介绍及时钟树综合案例

weixin_37584728的博客 4736

Vue3+codemirror6实现公式(规则)编辑器

vue3+codemirror6+ts实现公式编辑器,可以插入标签、公式,也有补全提示

小阮的笔记本 5049

Rails Devise-JWT安全实践:从密钥管理到令牌防护的完整指南

JWT(JSON Web Token)作为一种基于JSON的开放标准,已成为现代Web应用实现无状态身份认证与授权的核心技术。其原理是通过数字签名(如HMAC或RSA)对包含声明信息的负载进行编码,生成可验证且自包含的令牌,从而在分布式系统中安全地传递身份信息。这项技术的核心价值在于解耦认证与授权逻辑,支持跨域、跨服务的安全通信,显著提升了微服务与前后端分离架构的扩展性与灵活性。在实际应用场景中,JWT常用于单点登录(SSO)、API访问控制以及移动应用认证。然而,其无状态特性也带来了令牌泄露与伪造等安全挑

chunqingtai2922的博客 387

【CANdelaStudio编辑CDD】-1.2-给$10服务SessionControl创建一个新Session会话并修改Session state machine会话状态机(UDS诊断)

前一篇:【UDS诊断描述文件CDD】-1.1-ISO_14229中$10服务理论部分https://blog.youkuaiyun.com/qfmzhu/article/details/120375515案例背景: 在CDD中如何给$10服务创建一个新的Session会话; 在CDD中如何给$10服务修改Session state machine会话状态机。 目录 1 查看$10服务中已有的Session会话​ 2 查看$10服务中已有的Session state machine会话状态机 3 在$10...

「汽车电子助手」的博客 6076

Spring Boot API全链路加解密:RSA+AES混合加密与防重放实战

在构建高安全性的Web服务时,接口数据传输的机密性与完整性是核心诉求。非对称加密(如RSA)与对称加密(如AES)的结合,构成了现代混合加密体系的基础原理。RSA算法解决了密钥安全分发的难题,而AES算法则提供了高效的数据加密能力。这种技术组合的工程价值在于,它能在保证安全性的前提下,兼顾性能,为敏感业务数据在公网传输提供强力保障。其典型应用场景包括金融支付、隐私信息查询等对防篡改、防重放有明确要求的开放API。本文以Spring Boot框架为例,详细阐述了如何落地一套集成了**RSA+AES混合加密**

weixin_34050005的博客 331

【C++】【STL算法】数据窄化及代码安全性

本文系统探讨了C++工程中数据窄化(narrowing conversion)的隐患与解决方案。数据窄化指将高精度/大范围类型转换为低精度/小范围类型,虽语法合法但会导致静默精度损失。其危险性体现在:错误隐蔽、STL会放大问题、数值错误具有传播性。现代C++要求窄化必须显式声明,文中提出四种工程解决方案:显式转换、边界统一转换、范围检查转换和使用GSL工具。建议在系统边界集中处理窄化,保持计算链路类型一致性,并通过分层策略(建模用double,控制用float)确保数值稳定性。核心思想是让窄化成为清晰可控的

Double Galaxy 80

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

别再用BertModel直接喂给Chroma了!手写一个EmbeddingFunction解决HuggingFaceEmbeddings离线调用难题

本文探讨了如何通过手写EmbeddingFunction解决HuggingFaceEmbeddings在离线环境中的调用难题,避免直接使用BertModel对接Chroma向量数据库时的常见问题。文章详细介绍了接口规范差异、预处理缺失和输出处理空白等技术断层,并提供了离线加载方案、性能优化技巧以及与Chroma深度集成的实践方法,帮助开发者实现对嵌入过程的完全掌控。

weixin_33672400的博客 361

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

上一篇: 技术干货MySQL分片DevOps挑战
下一篇: 解决Java应用程序中的应用程序性能
程序员plus
博客等级 码龄8年 41粉丝 151原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值