我有一个spring boot 2.0.0应用程序作为后端以及angular 6前端应用程序 .

角度应用程序在https(ssl)中调用spring rest apis,同时后端spring应用程序在https中调用外部系统 .

我使用此配置来定义ssl证书:

server.ssl.key-store=C:\\path\\to\\certificate.p12
server.ssl.key-store-password=pass
server.ssl.keyStoreType=PKCS12
server.ssl.keyAlias=myalias

我还在应用程序初始化时在旧项目中找到了这段代码:

System.setProperty("javax.net.ssl.trustStore", env.getProperty("app.ws.JKSFileName"));
System.setProperty("javax.net.ssl.trustStorePassword",env.getProperty("app.ws.JKSFilePassword"));
System.setProperty("javax.net.debug", "ssl");

该应用程序现在工作正常,https适用于FE和外部系统

现在我有一些问题:

1-这两个部分是否具有相同的功能,但第一部分是新方式(仅通过配置)而另一部分是旧方式......或者它们做不同的事情?

2-当前端与spring应用程序通信或Spring应用程序调用外部系统时使用此部分 - 据我所知,这是为前端...但我的主人坚持认为它是用于调用外部系统(第二个代码)至少存在于旧系统中的部分)

3-现在我需要调用使用不同证书的新外部系统(x509证书)...所以我需要将我的应用程序配置为一次使用一个...我不知道如何实现这个...对于这两个代码,配置在应用程序级别完成