【问题标题】:Spring Boot import trust-storeSpring Boot 导入信任库
【发布时间】:2016-01-26 15:02:43
【问题描述】:

我需要在 Spring Boot 中导入信任库而不使用 System.setProperty,而只使用 application.properties 文件。 这是我的项目的结构:

我添加了这个字符串: server.ssl.trust-store = cacerts,但是当我运行 spring boot 应用程序时出现以下错误消息:

ERROR 6576 --- [main] os.boot.SpringApplication : 应用程序启动失败 java.lang.IllegalArgumentException:资源位置不能为空

有人解决了吗?

【问题讨论】:

  • 您应该在问题中包含相关代码。
  • 是一个简单的应用程序,只有一个静态html页面,我需要导入信任库,因为这个页面受CAS保护
  • 这里是有关上下文的更多信息:我们尝试将嵌入式 servlet 容器 (tomcat) 配置为使用特定的信任库,以便我们的应用程序通过 https 使用 RESTful Web 服务。我们按照文档中的建议配置了 application.properties,但出现此错误。

标签: java spring spring-mvc ssl spring-boot


【解决方案1】:

我找到了解决方案,属性文件需要信任值和密钥存储,而不仅仅是其中一个,如果此属性之一为 null,则应用程序抛出异常

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,尽管接受的答案确实有帮助,但这意味着您必须为您的应用程序生成一个密钥并激活 SSL。 如果您只想传递信任库的信息以进行对等验证而不为您自己的应用程序激活 SSL(这对于测试来说是可以的,但在生产环境中不行),您必须使用 java 属性(而不是 spring boot 属性)。像这样的东西对我有用:

    java -jar -Djavax.net.ssl.trustStore=/path/to/keystore.jks -Djavax.net.ssl.trustStorePassword=password your-appplication.jar
    

    【讨论】:

      猜你喜欢
      • 2019-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-27
      • 2017-12-11
      • 1970-01-01
      • 2017-08-22
      • 2022-01-19
      相关资源
      最近更新 更多