使用外部tomcat在spring boot应用程序中定义trust-store和key-store信息 另见:

问题描述

我已经在外部 tomcat 的 server.xml 中的 Connector 标记中配置了我的 trustsore 和 keystore 信息。证书存储在 tomcat 的 /base/lib 目录中。 我需要将 Spring Boot 应用程序部署到这个外部 tomcat。

  1. 如何使有关 trustsore 和密钥库的信息可供 Spring Boot 应用程序使用?
  2. 我需要在 Spring Boot 应用程序中的哪个位置存储 trsustore 和 keystore .jks 文件?

我对 server.xml 中 Resource 标签中的数据源做了同样的处理,在 spring boot 应用程序中我使用了 spring.datasource.jndi-name=jndi 的一些名称。如何为 trsustore 和 keystore 配置相同的内容?

解决方法

Tomcat 的 projects/_/buckets/my_bucket_name 中的密钥库和信任库有一个目的:

  • 密钥库包含服务器 SSL 端口使用的证书(和私钥),
  • 信任库包含 CA 列表,如果启用 mutual SSL authentication,这些 CA 是可信的。

因此,这些设置特定于您的应用程序的每个部署。你不应该自己提供它们。

您应该只向系统管理员提供配置这些设置的方法。在您的情况下,Spring Boot 已经处理好了(参见 server.ssl properties)。

另见:

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...