如何在spring application.properties中指定我的ssl密钥库文件的本地文件路径?

时间:2016-08-11 07:50:43

标签: java spring ssl spring-boot

鉴于我已经存档了     c:\path\to\file\keystore.jks

和我的application.properties文件包含     server.ssl.key-store=c:\path\to\file\keystore.jks

我收到以下异常 java.io.FileNotFoundException: C:\Windows\Temp\tomcat.2910824355292831382\file:\c:\path\to\file\keystore.jks (The filename, directory name, or volume label syntax is incorrect)

指定路径的正确方法是什么?

5 个答案:

答案 0 :(得分:5)

不要依赖绝对路径。将文件放在与Spring Boot JAR相同的目录中,并将此行添加到application.properties:

server.ssl.key-store=file:keystore.jks

第二个选项是将系统变量传递给-Dserver.ssl.key-store=file:keystore.jks

答案 1 :(得分:2)

以下与我一起使用Tomcat 8.5.2:

Windows:

server:
  ssl:
    key-store: file:C:\<complete file path with extension>

Linux:

server:
  ssl:
    key-store: file:/J2EE/<complete file path with extension>

答案 2 :(得分:0)

只需使用密钥库文件路径的引号

server:
  port: 8443
  ssl:
    enabled: true
    key-store: "/path/to/keystore/keystore.jks"

答案 3 :(得分:0)

当我做出这些改变时,这对我有用:

  1. 将tomcat的版本设置为8.5.20
  2. 将属性更改为:file:path

答案 4 :(得分:0)

检查spring boot正在使用哪个版本的tomcat。根据{{​​3}}小于7.0.66的tomcat版本,重新激活server.ssl.key-store设置。