spring 是否可以在内部使用Sping Boot SSL捆绑包,同时保留application.properties?中的旧配置(例如javax.net.ssl. *)

pgky5nke  于 12个月前  发布在  Spring
关注(0)|答案(1)|浏览(110)

在我团队的代码库中,我们已经升级到Sping Boot 3.2,我们希望使用SSL Bundles创建多个TLS配置。但是,我们必须保持向后兼容性,因此我们必须允许人们以传统方式配置SSL,通过使用application.properties文件中的javax.net.ssl.*server.ssl.*条目。
在查看Sping Boot 3文档时,新的配置风格使创建SSL bundle变得很容易。然而,我已经做了大量的搜索,并且,要么我没有使用正确的术语,要么这个概念目前有点太新,但我无法找到一种方法来弥合遗留配置和新SSL bundle之间的差距(编程)。
我想知道我是否可以做一些事情,比如创建一个@Configuration类,并通过一些手动编程转换为SSL包。当然,有SslBundle接口,我可以创建其实现,但我不完全确定这是否是正确的方法。是否有什么我错过了(例如,在Spring Boot 文档中)你们中有谁已经想出了一个好的迁移策略吗?

t5zmwmid

t5zmwmid1#

对于任何碰巧搜索相同内容的人来说,解决方案相对简单,比我预期的要容易。做这样的事情真的是你所需要的:

SslStoreBundle sslStoreBundle = SslStoreBundle.of(keystore, keystorePassword, trustStore);
SslBundleKey sslBundleKey = SslBundleKey.of(keystorePassword, keyAlias);
SslOptions sslOptions = SslOptions.of(ciphers, protocols);
SslManagerBundle sslManagerBundle = SslManagerBundle.of(sslStoreBundle, sslBundleKey);
SslBundle sslBundle = SslBundle.of(sslStoreBundle, sslBundleKey, sslOptions, protocol, sslManagerBundle);
sslBundleRegistry.registerBundle("ssl-bundle-name", sslBundle);

字符串
如果有人有更好的东西,也请在这里发表。

相关问题