ява свойства "javax.net.ssl.trustStore" и "javax.net.ssl.trustStorePassword" не соответствуют "server.ssl.trust-магазин" и «server.ssl.trust-магазин «password» («application.yml»)
поэтому вы не можете установить «javax.net.ssl.trustStore» и «javax.net.ssl.trustStorePassword», просто установив " сервер.ssl.trust-store "и" server.ssl.trust-store-password "в" application.properties "(" application.yml ")
альтернатива настройки" javax.net.ssl.trustStore "и" javax.net.ssl.trustStorePassword "является Спринг ботинке Externalized Configuration
ниже выдержки из моей реализации:
Params класс содержит настройки внешнего
@Component
@ConfigurationProperties("params")
public class Params{
//default values, can be override by external settings
public static String trustStorePath = "config/client-truststore.jks";
public static String trustStorePassword = "wso2carbon";
public static String keyStorePath = "config/wso2carbon.jks";
public static String keyStorePassword = "wso2carbon";
public static String defaultType = "JKS";
public void setTrustStorePath(String trustStorePath){
Params.trustStorePath = trustStorePath;
}
public void settrustStorePassword(String trustStorePassword){
Params.trustStorePassword=trustStorePassword;
}
public void setKeyStorePath(String keyStorePath){
Params.keyStorePath = keyStorePath;
}
public void setkeyStorePassword(String keyStorePassword){
Params.keyStorePassword = keyStorePassword;
}
public void setDefaultType(String defaultType){
Params.defaultType = defaultType;
}
KeyStoreUtil класс предпринимает настройки" javax. net.ssl.trustStore "и" javax.net.ssl. trustStorePassword»
public class KeyStoreUtil {
public static void setTrustStoreParams() {
File filePath = new File(Params.trustStorePath);
String tsp = filePath.getAbsolutePath();
System.setProperty("javax.net.ssl.trustStore", tsp);
System.setProperty("javax.net.ssl.trustStorePassword", Params.trustStorePassword);
System.setProperty("javax.net.ssl.keyStoreType", Params.defaultType);
}
public static void setKeyStoreParams() {
File filePath = new File(Params.keyStorePath);
String ksp = filePath.getAbsolutePath();
System.setProperty("Security.KeyStore.Location", ksp);
System.setProperty("Security.KeyStore.Password", Params.keyStorePassword);
}
}
вы получаете сеттеры исполненные в функции запуска
@SpringBootApplication
@ComponentScan("com.myapp.profiles")
public class ProfilesApplication {
public static void main(String[] args) {
KeyStoreUtil.setKeyStoreParams();
KeyStoreUtil.setTrustStoreParams();
SpringApplication.run(ProfilesApplication.class, args);
}
}
application.yml
---
params:
trustStorePath: config/client-truststore.jks
trustStorePassword: wso2carbon
keyStorePath: config/wso2carbon.jks
keyStorePassword: wso2carbon
defaultType: JKS
---
наконец, в запущенной среде (сервера развертывания), вы создаете папку с именем «config» в той же папке, где хранится архив jar.
В папке «config» вы сохраняете «application.yml», «client-truststore.jks» и «wso2carbon.jks». сделанный!
Какой встроенный контейнер вы используете и как вы определили, что это не работает? –