【问题标题】:How to configure spring boot server from java code (on initialization)?如何从java代码配置spring boot服务器(初始化时)?
【发布时间】:2018-12-14 17:01:55
【问题描述】:
由于某些情况,我事先不知道密钥库文件的位置。我从环境变量中读取了一些 base64 编码的 .jks,将其保存到 tmp 文件,然后将其位置提供给 Spring。
所以我不会写
server:
ssl:
key-store: classpath:ssl/server_keystore.jks
如何在@Configuration 中设置密钥库位置?
【问题讨论】:
标签:
spring
spring-boot
ssl
configuration
【解决方案1】:
所以,我发现,嵌入式 servlet 容器可以通过实现 WebServerFactoryCustomizer 来配置。
例子:
@Component
public class MyTomcatWebServerCustomizer
implements WebServerFactoryCustomizer<TomcatServletWebServerFactory> {
@Override
public void customize(TomcatServletWebServerFactory factory) {
Ssl ssl = factory.getSsl();
ssl.setKeyStore("...");
ssl.setKeyAlias("...");
ssl.setKeyStorePassword("...");
ssl.setKeyPassword("...");
}
}