Java 如何将cacerts和jks trustore一起使用,

Java 如何将cacerts和jks trustore一起使用,,java,spring-boot,ssl,jks,Java,Spring Boot,Ssl,Jks,如何在一个Spring引导应用程序中同时使用cacerts和jks 现在,我在应用程序启动时使用cacert脚本进行外部加载 -Djavax.net.ssl.trustStore="/opt/app/cacerts" \ 现在要使用另一个microsevis,我需要配置另一个SSL。我得到了一个用于设置ssl的jks文件 如何添加另一个trustore jks看起来spring boot默认情况下是在启动期间加载jdk受信任证书。尝试使用以下vm参数运行您的应用程序:-Dj

如何在一个Spring引导应用程序中同时使用cacerts和jks

现在,我在应用程序启动时使用cacert脚本进行外部加载

-Djavax.net.ssl.trustStore="/opt/app/cacerts" \
现在要使用另一个microsevis,我需要配置另一个SSL。我得到了一个用于设置ssl的jks文件


如何添加另一个trustore jks

看起来spring boot默认情况下是在启动期间加载jdk受信任证书。尝试使用以下vm参数运行您的应用程序:
-Djavax.net.debug=SSL,keymanager,trustmanager,SSL:handshake
,同时进行如下application.properties文件设置

我已经用基本设置进行了尝试,并且只配置了我的应用程序属性文件,请参见下面的内容

server:
  port: 8443
  ssl:
    enabled: true
    key-store: classpath:identity.jks
    key-password: secret
    key-store-password: secret
    trust-store: classpath:truststore.jks
    trust-store-password: secret
    client-auth: need

在启动我的应用程序时,我在日志中看到spring首先加载默认jdk信任库(cacerts),其中包含93个可信证书和后缀,它还加载密钥条目和另一个可信证书。这两个条目来自我的密钥库和信任库。因此,您不需要通过编程将jdk信任库和您自己的信任库结合起来,并将其提供给spring。因此,您是否可以尝试删除您的
-Djavax.net.ssl.trustStore=“/opt/app/cacerts”\
行,并调整您的application.properties文件,仅将您的自定义jks文件作为信任库进行引用?

@АСаааа为什么您没有接受这个优秀的答案。