我正在尝试在我的其余api请求中启用https。我在项目的src / main / resources路径中添加了密钥库文件“ csrportal.p12”。另外,在属性文件中添加了server.ssl.key-store = classpath:csrportal.p12。我的应用程序仍然无法启动,因为它无法加载密钥存储文件。
有什么想法应该在属性中指定路径吗?
我尝试使用“ src / main / resources”路径尝试代码,但是它在本地而不是在已部署的版本中工作。应用程序找不到任何密钥库文件,尽管它位于文件夹中,现在我已添加
server.ssl.key-store=classpath:csrportal.p12 using classpath as well.
我已将这些以及其他必需的属性添加到了我的属性文件中:
server.ssl.key-store-type=PKCS12
# The path to the keystore containing the certificate
server.ssl.key-store=classpath:csrportal.p12
我还自定义了tomcat,并使用代码访问了密钥库文件:
try {
connector.setAttribute("keystoreFile",
ResourceUtils.getFile(cSRPortalSettings.getServerSslKeyStore()));
} catch (FileNotFoundException e) {
throw new IllegalStateException("Cannot load keystore",
e);
}
我希望我的其余api使用https:// ...
但是日志的实际输出是:
Exception encountered
during context initialization - cancelling refresh attempt:
org.springframework.context.ApplicationContextException: Unable to start
embedded container; nested exception is java.lang.IllegalStateException:
Cannot load keystore",
"Application startup
failed","logger_name":"org.springframework.boot.SpringApplication",
"stack_trace":"org.springframework.context.ApplicationContextException:
Unable to start embedded container; nested exception is
java.lang.IllegalStateException: Cannot load keystore\n\tat