【问题标题】:java.security.KeyStoreException when running my app with docker-compose使用 docker-compose 运行我的应用程序时出现 java.security.KeyStoreException
【发布时间】:2021-04-28 14:48:44
【问题描述】:

我的 spring boot 项目连接到 mysql 和 cassandra db。 当我用spring boot在本地运行它时,一切正常。我使用 docker-compose 来运行这三个服务。 三个星期以来,我的应用程序运行没有问题。但是现在发生了错误: 原因:java.security.KeyStoreException:找不到密钥保护算法:java.security.UnrecoverableKeyException:加密私钥失败:无法识别的算法名称:PBEWithSHA1AndDESede。 有人可以帮帮我吗?

【问题讨论】:

    标签: java spring-boot security docker-compose keystore


    【解决方案1】:

    最近遇到了同样的问题,发现下面的讨论说这是在 JDK 8u292 上发生的错误,但在 8u282 上没有: https://github.com/bcgit/bc-java/issues/941

    在我的情况下,我切换回 8u282 并且错误消失了。

    【讨论】:

    • 谢谢菲利普。我通过在我的 Dockerfile 中将 openJdk:8 更改为 openjdk:8-jre-alpine3.9 来解决此问题。
    • 在我的例子中,我设置了 jvm 的 java.security 文件。我在这个文件的末尾添加了:keystore.pkcs12.keyProtectionAlgorithm=PBEWithHmacSHA256AndAES_256
    【解决方案2】:

    这是 openjdk 8u292 中的一个错误。将 openjdk 更新到 8u302 或更高版本。

    8u292 -> 8u312 我解决了这个问题。

    hanwei@hanweideMacBook-Air tt]$ java -version
    openjdk version "1.8.0_292"
    OpenJDK Runtime Environment (Zulu 8.54.0.21-CA-macos-aarch64) (build 1.8.0_292-b10)
    OpenJDK 64-Bit Server VM (Zulu 8.54.0.21-CA-macos-aarch64) (build 25.292-b10, mixed mode)
    hanwei@hanweideMacBook-Air tt]$ java -version
    openjdk version "1.8.0_312"
    OpenJDK Runtime Environment (Zulu 8.58.0.13-CA-macos-aarch64) (build 1.8.0_312-b07)
    OpenJDK 64-Bit Server VM (Zulu 8.58.0.13-CA-macos-aarch64) (build 25.312-b07, mixed mode)
    

    https://bugs.openjdk.java.net/browse/JDK-8266261

    https://bugs.openjdk.java.net/browse/JDK-8242565

    【讨论】:

      猜你喜欢
      • 2022-08-16
      • 2017-10-15
      • 2020-02-19
      • 2022-06-11
      • 2021-12-28
      • 2019-05-31
      • 2019-08-30
      • 1970-01-01
      • 2020-10-18
      相关资源
      最近更新 更多