惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
Cloudbric
Cloudbric
aimingoo的专栏
aimingoo的专栏
D
Docker
量子位
阮一峰的网络日志
阮一峰的网络日志
The GitHub Blog
The GitHub Blog
小众软件
小众软件
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - Franky
S
Schneier on Security
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
T
Tor Project blog
Google Online Security Blog
Google Online Security Blog
T
Tenable Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
I
InfoQ
罗磊的独立博客
P
Palo Alto Networks Blog
Security Latest
Security Latest
K
Kaspersky official blog
Apple Machine Learning Research
Apple Machine Learning Research
I
Intezer
C
Cybersecurity and Infrastructure Security Agency CISA
TaoSecurity Blog
TaoSecurity Blog
S
Security @ Cisco Blogs
Google DeepMind News
Google DeepMind News
W
WeLiveSecurity
Simon Willison's Weblog
Simon Willison's Weblog
V
V2EX
N
Netflix TechBlog - Medium
爱范儿
爱范儿
S
Secure Thoughts
S
Securelist
MyScale Blog
MyScale Blog
Webroot Blog
Webroot Blog
IT之家
IT之家
Cyberwarzone
Cyberwarzone
Martin Fowler
Martin Fowler
Project Zero
Project Zero
NISL@THU
NISL@THU
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
H
Hacker News: Front Page
H
Heimdal Security Blog
博客园_首页
V
Vulnerabilities – Threatpost
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Recent Announcements
Recent Announcements
Blog — PlanetScale
Blog — PlanetScale
The Cloudflare Blog

博客园 - 锐洋智能

windows 下 降级迁移 Redis 8.8.0(源) → Redis 8.6.3(目标) Eclipse IDE for Enterprise Find/Replace 窗口可以"停驻" 安装 SDelete 方式 SDelete 的核心作用,不是 “删文件”,而是 “把你已经删掉的文件,彻底从磁盘上抹干净”,同时帮你把虚拟机里的 “空闲空间” 变成连续的、可被回收的状态。 windows 10 启动就运行了一个批处理文件 在什么地方修改?启动项中? 让 Spring Framework7.0.7 支持 velocity Java 9+ 开启了模块化安全限制,不允许 Ignite 直接访问底层内存地址,导致 Ignite 启动失败 Spring 5.x + 老项目的 JWT 拦截器 + 自动续期 接口鉴权:Session/Cookie 与 JWT 的核心区别 下是针对 RedisSessionManager 的 Tomcat context.xml 配置示例,覆盖基础单机 Redis、带密码 / 指定库、Redis 哨兵集群、自定义序列化 / 持久化策略 等常见场景 Redis-8.6.3-Windows-x64-cygwin 与 Redis-8.6.3-Windows-x64-msys2 有什么不一样? commons-fileupload2 M4 升级 M5 报错解决方案 阿里云的网络安全策略 ip 地址详细说明 Paralithic、 QLExpress、AviatorScript、exp4j 性能对比一下 java 序列化影响(重要!) paralithic 与 Aviator 表达式那一个更快 券商接受委托的完整时间线 jQuery 4.0 移除了许多已废弃的方法和特性 xheditor插件无限递归错误解决方法 jedis-7.1.0.jar 升级至 jedis-7.2.0.jar 就提示:The type JedisPoolConfig is deprecated The type JedisPooled is deprecated Spring 从 5.x 到 6.x 和 7.x 区别 js 原生 剪切板 复制功能 安装 Microsoft Visual C++ 运行时 Java与Python进程通信优化方案 Autocomplete | jQuery UI 同一面页定义不同的 .ui-autocomplete Quartz的misfire处理策略设置不当导致Job在应用启动时立即执行。 mysql-connector-j-9.5.0.jar BUG 推荐几款好用的CSS在线压缩工具 CSS 变量 定义及引用 okhttp5.x 需要在 请求级别 控制是否使用重试拦截器,而不是在客户端级别 Apache Commons FileUpload 1.x 与 2.x 的主要区别
TLS virtual host [_default_], certificate type [RSA] configured from keystore [d:/reyo/jks/localhost.jks] using alias [tomcat] with trust store [null]
锐洋智能 · 2025-11-29 · via 博客园 - 锐洋智能

29-Nov-2025 17:06:02.584 信息 [main] org.apache.tomcat.util.net.AbstractEndpoint.logCertificate Connector [https-openssl-nio-8004], TLS virtual host [_default_], certificate type [RSA] configured from keystore [d:/reyo/jks/localhost.jks] using alias [tomcat] with trust store [null] ,为什么 with trust store [null] ?

这是一个很好的问题。with trust store [null]这个日志信息表示Tomcat服务器在配置SSL/TLS连接器时,没有为客户端认证显式地设置一个信任库。下面我为你详细解释这意味着什么,以及为什么会这样。

核心原因

这个设置主要与 SSL/TLS双向认证​ 有关。简单来说,认证分为两种:

  1.  
  1. 双向认证:客户端和服务器互相验证对方的身份。

truststore的用途是服务器用来验证客户端证书的合法性

详细解释

1. 你的场景:单向认证(最常见)

从你的日志 keystore [d:/reyo/jks/localhost.jks]可以看出,你只配置了一个 Keystore。这个Keystore里存放着服务器的证书和私钥。它的作用是:

  •  
  • 用于建立加密连接。

在这种情况下,服务器不需要验证客户端的证书,因此它不需要一个存有可信CA证书或客户端证书的Truststore。所以,Tomcat会将其记录为 truststore [null]这是完全正常且正确的行为,适用于99%的Web应用场景。 总结:对于单向认证,truststore[null]是预期的,并且是正确的。


2. 什么情况下 truststore不为 [null]

当你的应用需要 双向认证​ 时,才需要配置 truststore

  •  

如何工作?

  1.  
  • Keystore: 服务器用自己的证书向客户端证明自己。
  •  

如何在Tomcat中配置? 你需要在 server.xml的 Connector 配置中设置 truststoreFiletruststorePass属性。

  • 如果这样配置,日志就会显示 with trust store [d:/reyo/jks/truststore.jks]

为什么Tomcat要记录这个信息?

这是一个非常有用的调试信息。它明确地告诉管理员:

  •  
  • 服务器当前没有启用基于Truststore的客户端证书验证([null])。

如果未来你需要启用双向认证,但这个日志仍然显示 [null],你就会立刻知道问题出在Truststore的配置上。

结论

你的配置是正常的。with trust store [null]仅仅表示你的Tomcat服务器运行在标准的单向SSL认证模式下,这是绝大多数网站和Web服务的默认配置。​ 除非你有特殊需求要求客户端也必须提供证书,否则完全不需要担心这个日志信息。

  • 单向认证:客户端验证服务器的身份。(这是最常见的HTTPS模式)
  • 向客户端(如浏览器)证明服务器的身份。
  • 何时需要双向认证? 通常在非常严格的安全需求中,例如银行内部系统、微服务之间高度安全的通信等。服务器需要确保连接它的客户端也是受信任的。
    1. Truststore: 服务器配置一个Truststore,里面存放着颁发客户端证书的CA的根证书。当客户端出示其证书时,服务器会用Truststore里的CA证书来验证客户端证书是否可信。
  • 服务器的Keystore来源是哪里(localhost.jks)。