为什么 spring-boot 在 application.properties 中不支持 PEM 编码的 CA 证书?

meg*_*cio 6 java spring pem x509 spring-boot

Spring boot 允许您按照文档中的说明在应用程序属性中配置 ssl ,但它不支持 PEM 编码的 CA 证书。

我知道您可以使用 openssl 转换 PEM 编码的 CA 证书,然后将它们导入密钥库,以便使用它们来配置 https,但如果您可以在应用程序配置中直接引用 PEM 证书,那就太好了。

这对于您自动更新证书的情况特别有用,比如使用 certbot 并且您也不想更新您的密钥库。

有什么理由不支持吗?

rol*_*rer 0

有多种方法可以导入用于 Java 的私钥。

\n\n

在某些 java 实例上,使用内置密钥库系统是执行这些操作的默认方法。

\n\n

这是获取默认商店类型的代码片段:

\n\n
import java.security.KeyStore;\n\npublic class Main\n{\n  public static void main(String[] args)\n  {\n    System.out.print(KeyStore.getDefaultType());\n  }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

在线尝试一下!会给你jks像其他一些在线java代码运行器一样。

\n\n

因此,由于它是默认的 java 方式,因此 spring 框架在改变它方面没有足够的附加价值。

\n\n

更多链接:

\n\n\n

  • 是的,我知道这一点,但我更多的是寻找一种可以将其构建到应用程序属性中的方法,而不必为其编写特定的类 (2认同)