关于 tomcat 参数 truststoreFile 的困惑

关于 tomcat 参数 truststoreFile 的困惑

我对 tomcat 服务器中的 trustore 文件的用途感到相当困惑。

truststoreFile即在设置启用 TLS 的连接器时使用该参数。

根据 tomcat 文档:

信任库文件

用于验证的信任库文件客户证书。默认值为 javax.net.ssl.trustStore 系统属性的值。如果未设置此属性或默认系统属性,则不会配置任何信任存储。

对我来说,这告诉我,对于一个入站连接到我的 tomcat 服务器,这是我存储证书的地方,客户会出现。(例如用户浏览器)

如果我的 tomcat 服务器想要进行身份验证,我是否真的需要在这里输入第三方 CA 证书或其他第三方服务器证书?出站是否连接到启用 TLS 的服务器(例如 LDAPS 服务器)?

根据我的理解,这样做的地方是证书文件。

进一步阐述,的目的truststoreFile似乎与 java 参数明显不同javax.net.ssl.trustStore

后者似乎用于信任第三方 CA 证书,与浏览器 CA 列表非常相似。

默认文件是jssecertscacerts

我是不是完全误解了?

答案1

您说得对,信任库用于检查客户端证书是否存在入站连接。

但这不应该在 cacert 文件中完成。cacert 文件包含所有受信任的 CA 证书。这意味着任何使用由受信任 CA 签名的有效证书连接到您的 tomcat 的客户端都将被允许访问。

因此,信任库用于限制对某个或某些客户端的访问。

例如:您部署了多个应用程序,每个应用程序针对不同的客户端。每个应用程序都有一个接受数据的 Web 服务。为了防止客户端 A 使用客户端 B 的 Web 服务,您可以使用信任库配置您的 tomcat,并要求您的客户端在请求中发送自己的客户端证书。当客户端 A 使用其证书向客户端 B 的 tomcat 发出请求时,后者将无法在其信任库中找到证书,因此不会信任连接并中止连接。

相关内容