Java 我应该使用cacerts还是本地信任人,但不能同时使用两者?

Java 我应该使用cacerts还是本地信任人,但不能同时使用两者?,java,spring-boot,security,ssl,ssl-certificate,Java,Spring Boot,Security,Ssl,Ssl Certificate,我们有一个本地truststore.jks,用于我们的应用程序。我们使用以下VM选项将其传递给应用程序: -Djavax.net.ssl.trustStore=<<PATH TO TRUSTSOTRE.JKS>> -Djavax.net.ssl.trustStore= 如果我们已经在使用这个truststore.jks,有什么好的理由将证书导入到jdk的cacerts文件中吗 我们不能将这些证书导入现有的truststore.jks吗?这里没有对错,决定取决于您的应用

我们有一个本地truststore.jks,用于我们的应用程序。我们使用以下VM选项将其传递给应用程序:

-Djavax.net.ssl.trustStore=<<PATH TO TRUSTSOTRE.JKS>>
-Djavax.net.ssl.trustStore=
如果我们已经在使用这个truststore.jks,有什么好的理由将证书导入到jdk的cacerts文件中吗


我们不能将这些证书导入现有的truststore.jks吗?

这里没有对错,决定取决于您的应用程序管理安全设置的操作和方法

就我个人而言,我总是喜欢使用自定义信任存储(正如您已经在做的那样),只包含应用程序所需的端点的信任路径。 这样,您只需维护对正在使用的端点的信任

但是,如果应用程序使用来自不同CA提供商的证书连接到多个TLS端点,那么如果端点发生更改,基于cacerts的信任存储将使维护变得更容易。
在这种情况下,我建议不要更改JRE中的cacerts文件,而是基于cacerts文件创建一个自定义的信任存储文件供应用程序使用。

它位于开发环境中,涉及的证书不到十个。在这种情况下,您可能会建议将所有内容保存在一个自定义密钥库中,对吗?所以忽略cacerts…@COOLBEANS,是的,我会的。我总是喜欢控制我信任的发行人,但是如果有更多的发行者,他们的发行人存在于CaCalts中,那么我可能会考虑使用CaCets。